Shiro 的 HelloWorld

  • 密码文件
[users]
zhang=123
wang=123
  • 测试
package org.zln.hello;

import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
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.subject.Subject;
import org.apache.shiro.util.Factory;

/**
 * Created by sherry on 16/9/8.
 */
public class HelloWorld {

    private static Logger logger = LogManager.getLogger(HelloWorld.class);

    private static Subject subject;

    static {
        //1、获取 SecurityManager 工厂,此处使用 Ini 配置文件初始化 SecurityManager
        Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
        //2、得到 SecurityManager 实例 并绑定给 SecurityUtils
        SecurityManager securityManager = factory.getInstance();
        SecurityUtils.setSecurityManager(securityManager);
        //3、得到 Subject 及创建用户名/密码身份验证 Token(即用户身份/凭证)
        subject = SecurityUtils.getSubject();
    }

    public static boolean login(String username,String password){
        UsernamePasswordToken token = new UsernamePasswordToken(username,password);
        //4、登录,即身份验证
        try {
            subject.login(token);
        }catch (Exception e){
            logger.info("身份验证失败");
            logger.error(e.getMessage(),e);
            return false;
        }

        return subject.isAuthenticated();//是否成功登陆

    }

    public static void main(String[] args) {

        //6、退出
        subject.logout();
    }
}

默认使用 的 Relam 是 IniRelam

时间: 2024-10-12 20:11:19

Shiro 的 HelloWorld的相关文章

shiro的Helloworld

1 package shiro; 2 3 import org.apache.shiro.SecurityUtils; 4 import org.apache.shiro.authc.UsernamePasswordToken; 5 import org.apache.shiro.config.IniSecurityManagerFactory; 6 import org.apache.shiro.util.Factory; 7 import org.apache.shiro.mgt.Secur

Apache shiro 笔记整理之web整合一

下面内容是在看了涛哥的<跟我一起学shiro> 和 视频<一头扎入进shiro> 后整理出来备忘和方便自己和其它人学习. 个人主页:http://www.itit123.cn/ 很多其它干货等你来拿 第一步:创建maven版web项目:http://blog.csdn.net/qq_19558705/article/details/49887717 创建好后须要: 右击项目 ----> build path ----> config build path ---->

Shiro-HelloWord

HelloWorld Shiro的HelloWorld不是我们写的,而是看Shiro给我们提供的一段代码.通过这段代码可以看到Shiro大致的使用方式. 1.找到Shiro的jar包 目前的最新稳定版本是1.3.2 需要的4个jar包: log4j-1.2.15.jar shiro-all-1.3.2.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar 2.创建一个java工程 ,导入jar包,及从shiro-root-1.3.2-source-rel

第一节:Shiro HelloWorld 实现

1.新建maven工程,pom配置maven jar包 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.4</version>    </dependency>        <dependency> <groupId>org.slf4j&l

Shiro 入门

Apache Shiro(http://shiro.apache.org/) 是 Java 的一个安全(权限)框架. Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境. Shiro 可以完成:认证.授权.加密.会话管理.与Web 集成.缓存等. 主要类介绍 Authentication:身份认证/登录,验证用户是不是拥有相应的身份:1. Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用户是

shiro学习一

main方法代码 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.apach

Spring MVC + Mybatis + Shiro

1.Spring配置:web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/

Shiro权限控制框架入门1:Shiro的认证流程以及基本概念介绍

前言:我在最开始学习Shiro这个框架时,在网上搜索到的一个介绍比较全面的教程是:<跟我学Shiro>系列教程.但是在我看了他写的前几篇文章后,我发现虽然他在这个系列教程中把shiro的一些特性介绍地非常全面详细,但是整个教程的叙述方式还是有很大缺陷的.文章与文章之间并没有很好地串联起来,每篇文章介绍的东西都过于分散了,如果是对shiro完全不了解的新手来看的话完全是一场噩梦.就像一个网友评价的这样: 看了看这个教程,看完之后都想放弃shiro了,完全看不懂,后来百度了很多别的资料才理解了sh

Shiro:学习笔记(1)——身份验证

Shiro--学习笔记(1) 1.核心概念 1.Shiro不会自己去维护用户.维护权限:这些需要我们自己去设计/提供:然后通过相应的接口注入给Shiro.2.应用代码直接交互的对象是Subject,也就是说Shiro的对外核心是Subject: Subject:主体,代表了当前用户,不一定是一个具体的人,与当前交互的任何东西都是Subject,如网络爬虫.机器人等,是一个抽象概念.所有的Subject都会绑定到SecurityManager.可以把Subject认为是一个门面:SecurityM