NutzCN Logo
问答 nutz与shiro的结合 多realm shiro.ini怎么配置啊
发布于 3025天前 作者 qq_e7da0606 3060 次浏览 复制 上一个帖子 下一个帖子
标签: shiro mvc

比如登录 用户名+密码
手机号+校验码

7 回复
  1. 配置多个realm和authFilter,一一对应
  2. 配置多个realm,同一种authtoken,一个authFilter
  3. 单个realm判断各种情况,authtoken中包含各种登录方式的全部信息。

来自炫酷的 NutzCN

@wendal 有例子吗?同求!

为了整合现有登录和shiro? 那抛开authFilter,用过入口方法生成authToken, 然后调用

SecurityUtils.getSubject().login(token);

就可以了

@wendal nutz.cn的跨屏登录是不是就是和我提问的是一个意思?

nutz.cn已经改成入口方法来构建token了,shiro里面处理太蛋疼了,在自己的入口方法写,很爽很直接

@wendal
可以同时存在多个登录方式么?
我看最新代码里面,oauth为什么没采用AuthenticatingFilter的方式处理登录?
同理,可以用OauthModule.callback(...)里面的方式处理自定义登录逻辑么?

#Cross Screen
cs_authc = net.wendal.nutzbook.shiro.CrossScreenAuthentication
# qrcode timeout 2min
cs_authc.timeout = 120
#cs_realm = net.wendal.nutzbook.shiro.realm.CrossScreenRealm
#cs_realm.cacheManager = $cacheManager

#oauth
#oauth_realm = net.wendal.nutzbook.shiro.realm.OAuthRealm
#oauth_realm.cacheManager = $cacheManager

[urls]
/rs/*        = anon, noSessionCreation
/user/logout = logout
/user/error  = anon
/user/profile/active/mail = anon
/user/**     = authc
/cs/pass     = cs_authc

能,在入口方法做和在AuthenticatingFilter做,都可以。

入口方法可以声明n个,AuthenticatingFilter也能在shiro.ini声明m个,不同的realm能绑定不同的token类型

shiro每一层都允许n种实现同时存在,唯一不爽的就是登录失败的时候的提示信息不好弄(估计是我玩得不好),多个realm的时候的异常比较蛋疼

添加回复
请先登陆
回到顶部