Shiro是不依赖于容器的,所以建立一个普通的Maven项目就可以。
1 添加依赖
<dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.4.2</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> </dependencies>
1 新建配置文件
在resources下新建shiro.ini,文件名称任意,扩展名必须是ini。
[users] zhangsan=zs lisi=ls
1 新建测试类
新建com.bjsxt.ShiroRun。
public class ShiroRun { public static void main(String[] args) { Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); Subject subject = SecurityUtils.getSubject(); //web项目时,用户名和密码是客户端表单传递过来的用户名和密码。 AuthenticationToken token = new UsernamePasswordToken("admin", "pwd"); try { //login()方法没有返回值,只能通过是否有异常判断是否登录成功。 subject.login(token); System.out.println("登录成功"); } catch (UnknownAccountException e) { System.out.println("账号不存在"); } catch (IncorrectCredentialsException e) { System.out.println("密码错误"); } catch (AuthenticationException e) { e.printStackTrace(); } } }
一、 授权