Shiro 학습 총화 (2) - Shiro 의 입문 사례

48585 단어 Shiro
앞에서 shiro 의 개념 을 언급 한 다음 에 shiro 의 실제 조작 을 시작 합 니 다.
Shiro 의 입문 사례:
첫 번 째 단계: jar 패 키 지 를 설정 합 니 다. 여 기 는 maven 방식 을 사용 하기 때문에 pom. xml 의 설정 파일 은 다음 과 같 습 니 다.
 
     
  1. org.apache.shiro
  2. shiro-core
  3. 1.2.4
  4. org.slf4j
  5. slf4j-log4j12
  6. 1.7.12
第二步:暂时没有连接数据库,故采用静态数据,需要配置shiro.ini的文件模拟静态数据【user】表示用户,前面表示用户名
后面表示用户密码。
 
     
  1. [users]
  2. taojian=123456
  3. jack=123
第三步:创建log4j的属性文件,这个日志管理。
 
     
  1. #
  2. # Licensed to the Apache Software Foundation (ASF) under one
  3. # or more contributor license agreements. See the NOTICE file
  4. # distributed with this work for additional information
  5. # regarding copyright ownership. The ASF licenses this file
  6. # to you under the Apache License, Version 2.0 (the
  7. # "License"); you may not use this file except in compliance
  8. # with the License. You may obtain a copy of the License at
  9. #
  10. # http://www.apache.org/licenses/LICENSE-2.0
  11. #
  12. # Unless required by applicable law or agreed to in writing,
  13. # software distributed under the License is distributed on an
  14. # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15. # KIND, either express or implied. See the License for the
  16. # specific language governing permissions and limitations
  17. # under the License.
  18. #
  19. log4j.rootLogger=INFO, stdout
  20. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  21. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  22. log4j.appender.stdout.layout.ConversionPattern=%%[%c] - %%n
  23. # General Apache libraries
  24. log4j.logger.org.apache=WARN
  25. # Spring
  26. log4j.logger.org.springframework=WARN
  27. # Default Shiro logging
  28. log4j.logger.org.apache.shiro=TRACE
  29. # Disable verbose logging
  30. log4j.logger.org.apache.shiro.util.ThreadContext=WARN
  31. log4j.logger.org.apache.shiro.cache.ehcache.EhCache=WARN
: java ;
 
     
  1. package com.shiro.hello;
  2. import org.apache.shiro.SecurityUtils;
  3. import org.apache.shiro.authc.AuthenticationException;
  4. import org.apache.shiro.authc.UsernamePasswordToken;
  5. import org.apache.shiro.config.IniSecurityManagerFactory;
  6. import org.apache.shiro.mgt.SecurityManager;
  7. import org.apache.shiro.subject.Subject;
  8. import org.apache.shiro.util.Factory;
  9. public class HelleWorld {
  10. public static void main(String[] args) {
  11. // , SecurityManager
  12. Factory<SecurityManager> factory=new IniSecurityManagerFactory("classpath:shiro.ini");
  13. // securityManager
  14. SecurityManager securityManager=factory.getInstance();
  15. // securityManager SecurityUtils
  16. SecurityUtils.setSecurityManager(securityManager);
  17. //
  18. Subject currentUser=SecurityUtils.getSubject();
  19. // token , /
  20. UsernamePasswordToken token=new UsernamePasswordToken("taojian", "123456");
  21. try{
  22. //
  23. currentUser.login(token);
  24. System.out.println(" !");
  25. }catch(AuthenticationException e){
  26. e.printStackTrace();
  27. System.out.println(" !");
  28. }
  29. //
  30. currentUser.logout();
  31. }
  32. }

좋은 웹페이지 즐겨찾기