shiro-05
2018-11-03 15:24 crow! 阅读(104) 评论(0) 编辑 收藏 举报权限
package cn.mldn.test; import org.apache.shiro.subject.Subject; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.config.IniSecurityManagerFactory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.util.Factory; public class TestLoginDemo { public static void main(String[] args) { // TODO Auto-generated method stub //取得了factory的接口对象, Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); // 取得里面的所有的认证信息。 SecurityManager securityManager = factory.getInstance() ; //利用一个专门的认证操作处理类,实现认证处理的具体的实现 SecurityUtils.setSecurityManager(securityManager); //获取用户名和密码认证的接口对象 Subject subject = SecurityUtils.getSubject() ; //定义一个Token,里面保存用户名密码 UsernamePasswordToken token = new UsernamePasswordToken("mldn","java") ; //实现用户登录处理 subject.login(token); // 包含指定的权限,则不抛出异常 subject.checkPermissions("dept:add"); // 包含指定的权限,则返回true System.out.println(subject.isPermitted("emp:add")); System.out.println(subject.getPrincipal()); } }
shiro.ini
[users] admin=hello,member,dept mldn=java,dept,emp [roles] member=member:add,member:edit dept=dept:add,dept:edit emp=emp:*