您的位置:首页 > 其它

Shiro学习总结(二)--Shiro的入门小例子

2017-03-05 23:17 423 查看
前文提到shiro的一些概念,接下来开始shiro的实际操作:
Shiro的入门小例子:
第一步:配置jar包,这里采用maven的方式,故pom.xml的配置文件如下:

<dependencies>

<dependency>

<groupId>org.apache.shiro</groupId>

<artifactId>shiro-core</artifactId>

<version>1.2.4</version>

</dependency>

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-log4j12</artifactId>

<version>1.7.12</version>

</dependency>



第二步:暂时没有连接数据库,故采用静态数据,需要配置shiro.ini的文件模拟静态数据【user】表示用户,前面表示用户名

后面表示用户密码。

[users]

taojian=123456

jack=123


第三步:创建log4j的属性文件,这个日志管理。

#

# Licensed to the Apache Software Foundation (ASF) under one

# or more contributor license agreements.See the NOTICE file

# distributed with this work for additional information

# regarding copyright ownership.The ASF licenses this file

# to you under the Apache License, Version 2.0 (the

# "License"); you may not use this file except in compliance

# with the License.You may obtain a copy of the License at

#

# http://www.apache.org/licenses/LICENSE-2.0[/code] 
#

# Unless required by applicable law or agreed to in writing,

# software distributed under the License is distributed on an

# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

# KIND, either express or implied.See the License for the

# specific language governing permissions and limitations

# under the License.

#

log4j.rootLogger=INFO, stdout


log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m %n


# General Apache libraries

log4j.logger.org.apache=WARN


# Spring

log4j.logger.org.springframework=WARN


# Default Shiro logging

log4j.logger.org.apache.shiro=TRACE


# Disable verbose logging

log4j.logger.org.apache.shiro.util.ThreadContext=WARN

log4j.logger.org.apache.shiro.cache.ehcache.EhCache=WARN


第四步:编写关键的java代码;

package com.shiro.hello;


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实例绑定到SecurityUtils

SecurityUtils.setSecurityManager(securityManager);

// 得到当前执行的用户

Subject currentUser=SecurityUtils.getSubject();

// 创建token令牌,用户名/密码

UsernamePasswordToken token=new UsernamePasswordToken("taojian", "123456");

try{

// 身份认证

currentUser.login(token);

System.out.println("身份认证成功!");

}catch(AuthenticationException e){

e.printStackTrace();

System.out.println("身份认证失败!");

}

// 退出

currentUser.logout();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  maven shiro