V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coolair
V2EX  ›  Java

我觉得 Java 最大的阻碍就是各种“被废弃”

  •  1
     
  •   coolair · 2023-10-10 12:54:21 +08:00 · 3212 次点击
    这是一个创建于 411 天前的主题,其中的信息可能已经有所发展或是发生改变。

    随便找本书看看,但凡版本稍微升级一点点,各种“被废弃”的方法和类。

    有些升级真是破坏性的升级,设计大改,用法完全改变了。

    写 Java 的同学和写前端的也应该一样,能用就不更新,一更新全崩吧?

    顺便问下 spring security 5.7.x 下怎么实现如下写法:

    .antMatchers("/test/**").access("hasRole('admin') and hasRole('vip')")
    

    5.7.x 版本 access 不能传字符串了,要传 AuthorizationManager 。

    5.8.x 版本可以用 AuthorizationManagers.allOf() 来实现。

    那 5.7.x 版本如何实现这个需求?

    22 条回复    2023-10-13 15:41:28 +08:00
    Akitora
        1
    Akitora  
       2023-10-10 12:58:11 +08:00   ❤️ 2
    不如说是 spring security 特别爱整活
    yeqizhang
        2
    yeqizhang  
       2023-10-10 13:02:22 +08:00 via Android
    话说这关 java jdk 什么关系……
    ljsh093
        3
    ljsh093  
       2023-10-10 13:17:40 +08:00
    spring security 一个版本换一套 api
    zhouquanbest
        4
    zhouquanbest  
       2023-10-10 13:55:25 +08:00
    框架问题关 Java 啥事 Java 又不是只有 Spring
    murmur
        5
    murmur  
       2023-10-10 13:59:24 +08:00
    是 2023 年 java1.8 1.6 不允许运行了还是 springsec5.7 以前的版本禁止下载了

    后端 api 废弃有什么关系,除了苹果这种必须要求最新版 xcode 和系统否则商店都不让上的 什么开发还怕 depreacted
    coolair
        6
    coolair  
    OP
       2023-10-10 14:05:11 +08:00
    @zhouquanbest #4 确实如此,不过现在不都是用框架么,不用 Spring 也不会去搞 Java 了。
    wu67
        7
    wu67  
       2023-10-10 14:24:21 +08:00
    你说 spring 就直说呀, 说 Java 干嘛, 还扯上了前端...
    我写前端都是能升就升的, 前端工具库大部分发版都遵循版本号, 只有少数开源作者喜欢瞎整, 一般不是大版本升级都不会改 API
    so2back
        8
    so2back  
       2023-10-10 14:29:05 +08:00
    你这思维也太 6 了
    winterbells
        9
    winterbells  
       2023-10-10 14:47:23 +08:00 via Android
    Android 的 API 说废弃就废弃,废弃几年了也不影响用,就是恶心人。
    可能是全屏那个代码(具体想不起来了),连续三年不一样,我都恍惚了到底该没改过了
    mmdsun
        10
    mmdsun  
       2023-10-10 16:29:29 +08:00
    手里项目是 spring security 6 方法签名是:
    access(AuthorizationManager<RequestAuthorizationContext> manager) {}

    http.authorizeHttpRequests((authorize) -> authorize
    .requestMatchers("/test/**")
    .access(new CustomAuthorizationManager())
    );


    CustomAuthorizationManager 实现接口 AuthorizationManager<RequestAuthorizationContext>
    @Override 里面方法,Authentication 里面就能拿到 getAuthorities 你取出来就可以判断了吧?,role 也是存里面的。
    当然你也可以解析 spring security 的表达式,它有 DefaultWebSecurityExpressionHandler 类。
    banmuyutian
        11
    banmuyutian  
       2023-10-10 16:34:24 +08:00   ❤️ 1
    经典 Spring = Java
    chuck1in
        12
    chuck1in  
       2023-10-10 18:36:15 +08:00 via iPhone
    I have a project can save your life
    mxT52CRuqR6o5
        13
    mxT52CRuqR6o5  
       2023-10-10 18:39:10 +08:00
    前端 deprecated 的东西只会单纯标成 deprecated ,浏览器厂商没人敢删😂
    一直用着通常也不用担心哪天用不了了(例外当然也是有的,通常和安全有关)
    cyningxu
        14
    cyningxu  
       2023-10-10 18:44:04 +08:00 via Android
    房子朝向不好怪水泥厂生产的水泥有问题
    dk7952638
        15
    dk7952638  
       2023-10-11 08:45:38 +08:00
    java 对于向下兼容的态度绝对是顶级了,不负责任的是 spring
    biubiuGolang
        16
    biubiuGolang  
       2023-10-11 09:47:32 +08:00
    @dk7952638 赞同
    SkyLine7
        17
    SkyLine7  
       2023-10-11 11:41:35 +08:00
    垃圾 spring security 看到就烦
    agagega
        18
    agagega  
       2023-10-11 12:04:34 +08:00 via iPhone
    iOS 开发:兄弟带你见见世面
    cp19890714
        19
    cp19890714  
       2023-10-11 12:54:04 +08:00
    这完全是 spring security 的问题,甚至都不能说是 spring 的问题, 因为 spring 其他组件也没像 spring security 这么混乱。
    totoro52
        20
    totoro52  
       2023-10-11 18:21:15 +08:00
    请问这个和 java 啥关系, 又一个把框架上升到语言的人, 抬走,下一个
    pocketz
        21
    pocketz  
       2023-10-11 19:50:18 +08:00
    看起来是 spring security 的锅,连文档都没有
    bill110100
        22
    bill110100  
       2023-10-13 15:41:28 +08:00
    看官方文档 ,再说你不升级不就好了,java 一直是项目开发完能不动就不动。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   916 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:03 · PVG 04:03 · LAX 12:03 · JFK 15:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.