多语言展示
当前在线:583今日阅读:155今日分享:35

在WEB中使用Shiro实现基础验证配置

在WEB中使用Shiro实现基础验证配置
工具/原料
1

shiro

2

eclipse

方法/步骤
1

如果要使用Shiro那么关键的部分还是需要整合web的开发,所以针对于web的开发,shiro本身也是可以轻松进行的。修改pom.xml文件:          org.apache.shiro          shiro-web          1.3.2      

2

如果要想在WEB之中去应该Shiro就必须配置监听器:修改web.xml文件追加监听器:          org.apache.shiro.web.env.EnvironmentLoaderListener    

3

在整个的web的开发过程之中用户的检测一定要存在有过滤器,所以需要配置过滤器。本次建议继续使用普通的认证模式,利用shiro.ini文件实现认证,所以这个配置文件需要进行指派。 shirodemo                      org.apache.shiro.web.env.EnvironmentLoaderListener                                      ShiroFilter                          org.apache.shiro.web.servlet.ShiroFilter                                                     configPath               classpath:shiro.ini                             ShiroFilter           /*          REQUEST           FORWARD           INCLUDE           ERROR      

4

那么此时就标识web项目之中已经集成好了Shiro的开发程序。配置完成此时可以得到一些shiro的配置信息:

5

需要建立一个Servlet程序来进行具体的登陆操作:package com.gwolf.servlet;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.request;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.shiro.SecurityUtils;import org.apache.shiro.authc.UsernamePasswordToken;import org.apache.shiro.subject.Subject;@WebServlet('/shiroLogin')public class LoginServlet extends HttpServlet {      @Override       protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException {               this.doPost(req, resp);       }               @Override       protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {          String mid = req.getParameter('mid');               String password = req.getParameter('password');                    Subject subject = SecurityUtils.getSubject();             UsernamePasswordToken token = new UsernamePasswordToken(mid, password);                     subject.login(token);                                 req.getSession().setAttribute('mid', mid);              req.getRequestDispatcher('/welcome.jsp').forward(req, resp);    }}

6

在根目录下创建一个login.jsp的文件。<%@ page language='java' contentType='text/html; charset=utf-8'    pageEncoding='utf-8'%>shrio登录      

                用户名:                密码:                       

7

这样shiro的一个基础的web验证就已经完成了。

推荐信息