12

[转]Shiro无密码登录

2016-04-08 16:54:00    1147533288    1197    转贴

在某些应用场景下我们或许需要直接登录,而不需要用户输入密码,例如用户用手机直接登录的场景。
在Shiro中我们通过在线程变量中绑定一个已通过验证的Subject对象即可实现。
 
<!--more-->
PrincipalCollection principals = new SimplePrincipalCollection(  
                user.getId(), "MobileRealm");  
Builder builder = new WebSubject.Builder(  
                ServletActionContext.getRequest(),  
                ServletActionContext.getResponse());  
builder.principals(principals);  
builder.authenticated(true);  
WebSubject subject = builder.buildWebSubject();  
ThreadContext.bind(subject);  
 
以上是用于Web Application的代码,所以用的是WebSubject,应根据自己的应用选择需要创建的Subject类。

转自 http://jnoee.iteye.com/blog/1944703
苏ICP备18038013号-1
蝉知 蝉知5.2