# shiroIniWeb
**Repository Path**: luoyong/shiroIniWeb
## Basic Information
- **Project Name**: shiroIniWeb
- **Description**: The shiro application based on web.
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2014-08-27
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
The shiro application based on web.
===================================
#### pom.xml
```xml
4.0.0
name.luoyong.shiro
shiroIniWeb
0.0.1-SNAPSHOT
jar
shiroIniWeb
http://maven.apache.org
UTF-8
junit
junit
4.11
test
commons-logging
commons-logging
1.2
org.apache.shiro
shiro-core
1.2.3
org.apache.shiro
shiro-web
1.2.3
javax.servlet
servlet-api
3.0-alpha-1
provided
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet
jsp-api
2.0
provided
org.eclipse.jetty
jetty-maven-plugin
9.2.1.v20140609
3
/
```
#### shiro.ini
```ini
[main]
authc.loginUrl=/login
[users]
luoyong=123,role1
LiuXiang=456,role2
[roles]
role1=book:add,book:delete
role2=user:manager,user:alter
[urls]
/login=anon
/logout=logout
/**=authc
```
#### web.xml
```xml
org.apache.shiro.web.env.EnvironmentLoaderListener
shiroFilter
org.apache.shiro.web.servlet.ShiroFilter
shiroFilter
/*
```
#### LoginServlet.java
```java
package name.luoyong.shiro.shiroIniWeb.servlet;
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.AuthenticationException;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
@WebServlet(urlPatterns="/login")
public class LoginServlet extends HttpServlet {
private static final String loginJspUrl = "/login.jsp";
private static final String loginSuccessJspUrl = "/loginSuccess.jsp";
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Subject subject = SecurityUtils.getSubject();
if(subject.isAuthenticated()) {
request.getRequestDispatcher(loginSuccessJspUrl).forward(request, response);
return;
}
String username = request.getParameter("username");
String password = request.getParameter("password");
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
String loginErrorMsg = null;
try {
subject.login(token);
} catch(UnknownAccountException e) {
loginErrorMsg = "查无此人!";
} catch(IncorrectCredentialsException e) {
loginErrorMsg = "密码错误!";
} catch(AuthenticationException e) {
loginErrorMsg = "登陆失败!";
}
request.setAttribute("loginErrorMsg", loginErrorMsg);
if(subject.isAuthenticated()) {
request.getRequestDispatcher(loginSuccessJspUrl).forward(request, response);
return;
} else {
request.getRequestDispatcher(loginJspUrl).forward(request, response);
return;
}
}
}
```