Shiro 权限控制框架

来源:互联网 发布:iphone6s淘宝哪家靠谱 编辑:程序博客网 时间:2024/06/05 12:46

Apache Shiro 是一个框架,可用于身份验证和授权。

 1.身份验证:身份验证 指的是验证用户的身份。在验证用户身份时,需要确认用户的身份的确如他们所声称的那样。在大多数应用程序中,

身份验证是通过用户名和密码的组合完成的。只要用户选择了他人很难猜到的密码,那么用户名和密码的组合通常就足以确立身份。

但是,还有其他的身份验证方式可用,比如指纹、证书和生成键。

2.授权:一旦身份验证过程成功地建立起身份,授权 就会接管以便进行访问的限制或允许。 所以,有这样的可能性:用户虽然通过了身份验证可以登录到一个系统,

但是未经过授权,不准做任何事情。

首先我们来使用Shiro初步编码实现HelleWorld 

<span style="font-size:18px;">package com.java.shiro;import org.apache.shiro.SecurityUtils;import org.apache.shiro.authc.AuthenticationException;import org.apache.shiro.authc.UsernamePasswordToken;import org.apache.shiro.config.IniSecurityManagerFactory;import org.apache.shiro.mgt.SecurityManager;import org.apache.shiro.subject.Subject;import org.apache.shiro.util.Factory;public class HelleWorld {public static void main(String[] args) {// 读取配置文件,初始化SecurityManager工厂Factory<SecurityManager> factory=new IniSecurityManagerFactory("classpath:shiro.ini");// 获取securityManager实例SecurityManager securityManager=factory.getInstance();// 把securityManager实例绑定到SecurityUtilsSecurityUtils.setSecurityManager(securityManager);// 得到当前执行的用户Subject currentUser=SecurityUtils.getSubject();// 创建token令牌,用户名/密码UsernamePasswordToken token=new UsernamePasswordToken("java1234", "12345");try{// 身份认证currentUser.login(token);System.out.println("身份认证成功!");}catch(AuthenticationException e){e.printStackTrace();System.out.println("身份认证失败!");}// 退出currentUser.logout();}}</span>

<span style="font-size:18px;">shiro.ini配置文件内容:</span></span>
<span style="font-size:18px;">[users]             //这就是两个自定义的用户名密码java1234=123456jack=123</span>
在后面的博文中我会依次讲解Shiro权限控制之身份认证


0 0
原创粉丝点击