使用Spring Security3的几种方法概述
原文:http://zhoualine.iteye.com/blog/1755233
一种是全部利用配置文件,将用户、权限、资源(url)硬编码在xml文件中,已经实现过。
二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现。
三种我使用的是第三种 第三种是细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,
并分别实现AccessDecisionManager、InvocationSecurityMetadataSourceService和UserDetailsService,并在配置文件中进行相应配置。
四种第四种方式我没有试过 。
业务逻辑
权限代码action为请求路径,权限信息拥有多个权限代码,角色可以拥有多个权限信息, 用户属于用户组,用户组拥有多个角色,用户组必须拥有跟菜单同样权限代码action、页面菜单才能显示 , 最终实现菜单显示与请求路径权限验证。
在上个项目开发中用到的技术: java1.5 + struts2.1.8 + spring3.0.7 + hibernate3.2.5 + spring security3.1.0 + mysql5.5 + tomcat6.0。
我这里只说明spring security,代码是项目里抽取权限部分出来讲解的,
spring security3.1 .0 的11 个jar包,分别为:
spring-security-acl-3.1 .0 .RELEASE.jar
spring-security-config-3.1 .0 .RELEASE.jar
spring-security-core-3.1 .0 .RELEASE.jar
spring-security-taglibs-3.1 .0 .RELEASE.jar
spring-security-web-3.1 .0 .RELEASE.jar
spring-security-aspects-3.1.0.RELEASE.jar
spring-security-cas-3.1.0.RELEASE.jar
spring-security-crypto-3.1.0.RELEASE.jar
spring-security-ldap-3.1.0.RELEASE.jar
spring-security-openid-3.1.0.RELEASE.jar
spring-security-remoting-3.1.0.RELEASE.jar
当然还有其他项目相关 的jar包,不贴出来了 。
年初讲解过spring security的旧版本Acegi的文章xml配置稍微复杂一些, spring security3配置相对比较简单。
Spring Security3 配置使用
1 spring security3 主要实现类。
2 spring security3 主要配置文件。
3 web.xml配置文件。
4 实现流程说明
5 权限sql脚本
6 附件为完整程序与数据库脚本
1、spring security3 主要实现类 (包含4个关键类):
myFilter
(1) MySecurityFilter.java 过滤用户请求
-
package com.taskmanager.web.security;
-
-
import java.io.IOException;
-
import java.util.Collection;
-
-
import javax.servlet.Filter;
-
import javax.servlet.FilterChain;
-
import javax.servlet.FilterConfig;
-
import javax.servlet.ServletException;
-
import javax.servlet.ServletRequest;
-
import javax.servlet.ServletResponse;
-
-
import org.springframework.security.access.ConfigAttribute;
-
import org.springframework.security.access.SecurityMetadataSource;
-
import org.springframework.security.access.intercept.AbstractSecurityInterceptor;
-
import org.springframework.security.access.intercept.InterceptorStatusToken;
-
import org.springframework.security.web.FilterInvocation;
-
import org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource;
-
-
public class MySecurityFilter extends AbstractSecurityInterceptor implements
-
Filter {
-
-
-
private FilterInvocationSecurityMetadataSource securityMetadataSource;
-
-
@Override
-
public SecurityMetadataSource obtainSecurityMetadataSource() {
-
return this.securityMetadataSource;
-
}
-
-
public void doFilter(ServletRequest request, ServletResponse response,
-
FilterChain chain) throws IOException, ServletException {
-
FilterInvocation fi = new FilterInvocation(request, response, chain);
-
invoke(fi);
-
}
-
-
private void invoke(FilterInvocation fi) throws IOException,
-
ServletException {
-
-
-
-
-
-
-
-
-
InterceptorStatusToken token = super.beforeInvocation(fi);
-
try {
-
fi.getChain().doFilter(fi.getRequest(), fi.getResponse());
-
} finally {
-
super.afterInvocation(token, null);
-
}
-
}
-
-
public FilterInvocationSecurityMetadataSource getSecurityMetadataSource() {
-
return securityMetadataSource;
-
}
-
-
public void setSecurityMetadataSource(
-
FilterInvocationSecurityMetadataSource securityMetadataSource) {
-
this.securityMetadataSource = securityMetadataSource;
-
}
-
-
public void init(FilterConfig arg0) throws ServletException {
-
-
}
-
-
public void destroy() {
-
-
-
}
-
-
@Override
-
public Class extends Object> getSecureObjectClass() {
-
-
return FilterInvocation.class;
-
}
-
}
package com.taskmanager.web.security;
import java.io.IOException;
import java.util.Collection;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.access.SecurityMetadataSource;
import org.springframework.security.access.intercept.AbstractSecurityInterceptor;
import org.springframework.security.access.intercept.InterceptorStatusToken;
import org.springframework.security.web.FilterInvocation;
import org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource;
public class MySecurityFilter extends AbstractSecurityInterceptor implements
Filter {
// 与applicationContext-security.xml里的myFilter的属性securityMetadataSource对应,
// 其他的两个组件,已经在AbstractSecurityInterceptor定义
private FilterInvocationSecurityMetadataSource securityMetadataSource;
@Override
public SecurityMetadataSource obtainSecurityMetadataSource() {
return this.securityMetadataSource;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
FilterInvocation fi = new FilterInvocation(request, response, chain);
invoke(fi);
}
private void invoke(FilterInvocation fi) throws IOException,
ServletException {
// object为FilterInvocation对象
// super.beforeInvocation(fi);//源码
// 1.获取请求资源的权限
//执行 Collection attributes =
//securityMetadataSource.getAttributes(fi);
// 2.是否拥有权限
// this.accessDecisionManager.decide(authenticated, fi, attributes);
// this.accessDecisionManager.decide(authenticated, fi, attributes);
InterceptorStatusToken token = super.beforeInvocation(fi);
try {
fi.getChain().doFilter(fi.getRequest(), fi.getResponse());
} finally {
super.afterInvocation(token, null);
}
}
public FilterInvocationSecurityMetadataSource getSecurityMetadataSource() {
return securityMetadataSource;
}
public void setSecurityMetadataSource(
FilterInvocationSecurityMetadataSource securityMetadataSource) {
this.securityMetadataSource = securityMetadataSource;
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public Class extends Object> getSecureObjectClass() {
//下面的MyAccessDecisionManager的supports方面必须放回true,否则会提醒类型错误
return FilterInvocation.class;
}
}
核心的InterceptorStatusToken token = super.beforeInvocation(fi);会调用我们定义的accessDecisionManager:decide(Object object)和securityMetadataSource
:getAttributes(Object object)方法。
( 2) MySecurityMetadataSource.java 系统启动加载系统权限 用户登入验证权限
-
package com.taskmanager.web.security;
-
-
import java.util.ArrayList;
-
import java.util.Collection;
-
import java.util.HashMap;
-
import java.util.Iterator;
-
import java.util.List;
-
import java.util.Map;
-
import java.util.Set;
-
import java.util.Map.Entry;
-
-
import org.springframework.security.access.ConfigAttribute;
-
import org.springframework.security.access.SecurityConfig;
-
import org.springframework.security.web.FilterInvocation;
-
import org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource;
-
import org.springframework.security.web.util.AntPathRequestMatcher;
-
import org.springframework.security.web.util.RequestMatcher;
-
-
import com.taskmanager.exception.SystemRunException;
-
import com.taskmanager.hibernate.TSysPowerofaction;
-
import com.taskmanager.hibernate.TSysPowersystem;
-
import com.taskmanager.service.inter.PowerInter;
-
-
-
-
-
-
-
-
-
-
public class MySecurityMetadataSource implements FilterInvocationSecurityMetadataSource {
-
-
public MySecurityMetadataSource(PowerInter powerService)
-
throws SystemRunException {
-
this.powerService = powerService;
-
loadResourceDefine();
-
}
-
-
private PowerInter powerService;
-
private static Map> resourceMap = null;
-
private RequestMatcher pathMatcher;
-
public Collection getAllConfigAttributes() {
-
return new ArrayList();
-
}
-
-
public boolean supports(Class> clazz) {
-
-
return true;
-
}
-
-
private void loadResourceDefine() throws SystemRunException {
-
if (resourceMap == null) {
-
resourceMap = new HashMap>();
-
List resources = this.powerService
-
.findByTSysPowersystem();
-
for (TSysPowersystem resource : resources) {
-
Collection configAttributes =
-
new ArrayList();
-
-
-
ConfigAttribute configAttribute =
-
new SecurityConfig(resource.getRoleName());
-
configAttributes.add(configAttribute);
-
-
-
resourceMap.put(resource.getInterceptUrl(), configAttributes);
-
}
-
}
-
-
}
-
-
public Collection getAttributes(Object object)
-
throws IllegalArgumentException {
-
Iterator it = resourceMap.keySet().iterator();
-
while (it.hasNext()) {
-
String resURL = it.next();
-
Iterator ite = resourceMap.keySet().iterator();
-
pathMatcher = new AntPathRequestMatcher(resURL);
-
if (pathMatcher.matches(((FilterInvocation) object).getRequest())) {
-
Collection returnCollection =
-
resourceMap.get(resURL);
-
return returnCollection;
-
}
-
}
-
return null;
-
}
-
-
}
package com.taskmanager.web.security;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.access.SecurityConfig;
import org.springframework.security.web.FilterInvocation;
import org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource;
import org.springframework.security.web.util.AntPathRequestMatcher;
import org.springframework.security.web.util.RequestMatcher;
import com.taskmanager.exception.SystemRunException;
import com.taskmanager.hibernate.TSysPowerofaction;
import com.taskmanager.hibernate.TSysPowersystem;
import com.taskmanager.service.inter.PowerInter;
//1 加载资源与权限的对应关系
/**
* 该过滤器的主要作用就是通过spring著名的IoC生成securityMetadataSource。
* securityMetadataSource相当于本包中自定义的MyInvocationSecurityMetadataSourceService。
* 该MyInvocationSecurityMetadataSourceService的作用提从数据库提取权限和资源,装配到HashMap中,
* 供Spring Security使用,用于权限校验。
* @author sparta 11/3/29
*/
public class MySecurityMetadataSource implements FilterInvocationSecurityMetadataSource {
//由spring调用
public MySecurityMetadataSource(PowerInter powerService)
throws SystemRunException {
this.powerService = powerService;
loadResourceDefine();
}
private PowerInter powerService;
private static Map> resourceMap = null;
private RequestMatcher pathMatcher;
public Collection getAllConfigAttributes() {
return new ArrayList();
}
public boolean supports(Class> clazz) {
// TODO Auto-generated method stub
return true;
}
//加载所有资源与权限的关系
private void loadResourceDefine() throws SystemRunException {
if (resourceMap == null) {
resourceMap = new HashMap>();
List resources = this.powerService
.findByTSysPowersystem();
for (TSysPowersystem resource : resources) {
Collection configAttributes =
new ArrayList();
// 以权限名封装为Spring的security Object
//resource.getRoleName() 角色名称 可随意 role_admin 或者 admin
ConfigAttribute configAttribute =
new SecurityConfig(resource.getRoleName());
configAttributes.add(configAttribute);
//resource.getInterceptUrl() 格式必须是 拦截的包路径
//或者是 比如 /manager/**/*.jh 或者 /system/manager/**/*.jsp
resourceMap.put(resource.getInterceptUrl(), configAttributes);
}
}
}
//返回所请求资源所需要的权限
public Collection getAttributes(Object object)
throws IllegalArgumentException {
Iterator it = resourceMap.keySet().iterator();
while (it.hasNext()) {
String resURL = it.next();
Iterator ite = resourceMap.keySet().iterator();
pathMatcher = new AntPathRequestMatcher(resURL);
if (pathMatcher.matches(((FilterInvocation) object).getRequest())) {
Collection returnCollection =
resourceMap.get(resURL);
return returnCollection;
}
}
return null;
}
}
这里的resourcesDao,熟悉Dao设计模式和Spring 注入的朋友应该看得明白。
( 3) MyUserDetailServiceImpl.java 点击登入跳转 保存 用户权限
-
package com.taskmanager.web.security;
-
-
import java.util.Collection;
-
import java.util.HashSet;
-
import java.util.Set;
-
-
import org.springframework.security.core.GrantedAuthority;
-
import org.springframework.security.core.authority.GrantedAuthorityImpl;
-
import org.springframework.security.core.userdetails.User;
-
import org.springframework.security.core.userdetails.UserDetails;
-
import org.springframework.security.core.userdetails.UserDetailsService;
-
import org.springframework.security.core.userdetails.UsernameNotFoundException;
-
-
import com.taskmanager.exception.LoginException;
-
import com.taskmanager.exception.SystemRunException;
-
import com.taskmanager.hibernate.TSysCharacter;
-
import com.taskmanager.hibernate.TSysCharofgroup;
-
import com.taskmanager.hibernate.TSysPowersystemofchar;
-
import com.taskmanager.hibernate.TSysUser;
-
import com.taskmanager.hibernate.TSysUsergroup;
-
import com.taskmanager.hibernate.TSysUserofusergroup;
-
import com.taskmanager.service.inter.UserInter;
-
-
public class MyUserDetailServiceImpl implements UserDetailsService {
-
-
UserInter userService;
-
public UserInter getUserService() {
-
return userService;
-
}
-
-
public void setUserService(UserInter userService) {
-
this.userService = userService;
-
}
-
-
-
public UserDetails loadUserByUsername(String username)
-
throws UsernameNotFoundException {
-
System.out.println("username is " + username);
-
TSysUser users=null;
-
try {
-
users = this.userService.findByUsersLogin(username);
-
} catch (LoginException e) {
-
throw new UsernameNotFoundException(username);
-
} catch (SystemRunException e) {
-
throw new UsernameNotFoundException(username);
-
}
-
if (users == null) {
-
throw new UsernameNotFoundException(username);
-
}else {
-
if(!users.getStatus()){
-
throw new UsernameNotFoundException("该用户处于锁定状态");
-
}
-
}
-
Collection grantedAuths = obtionGrantedAuthorities(users);
-
-
boolean enables = true;
-
boolean accountNonExpired = true;
-
boolean credentialsNonExpired = true;
-
boolean accountNonLocked = true;
-
User userdetail = new User(users.getCode(), users.getPassword(),
-
enables, accountNonExpired, credentialsNonExpired,
-
accountNonLocked, grantedAuths);
-
return userdetail;
-
}
-
-
-
private Set obtionGrantedAuthorities(TSysUser user) {
-
Set authSet = new HashSet();
-
-
Set userGroups = user.getTSysUserofusergroups();
-
for(TSysUserofusergroup userGroup : userGroups ){
-
-
TSysUsergroup usgroup=userGroup.getTSysUsergroup();
-
-
Set charofgroups=usgroup.getTSysCharofgroups();
-
for (TSysCharofgroup charofgroup : charofgroups) {
-
TSysCharacter character=charofgroup.getTSysCharacter();
-
-
Set powerSystemofchars=
-
character.getTSysPowersystemofchars();
-
for(TSysPowersystemofchar powerofchar : powerSystemofchars){
-
authSet.add(
-
new GrantedAuthorityImpl(powerofchar.getTSysPowersystem().getRoleName()));
-
}
-
}
-
}
-
return authSet;
-
}
-
}
package com.taskmanager.web.security;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.GrantedAuthorityImpl;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import com.taskmanager.exception.LoginException;
import com.taskmanager.exception.SystemRunException;
import com.taskmanager.hibernate.TSysCharacter;
import com.taskmanager.hibernate.TSysCharofgroup;
import com.taskmanager.hibernate.TSysPowersystemofchar;
import com.taskmanager.hibernate.TSysUser;
import com.taskmanager.hibernate.TSysUsergroup;
import com.taskmanager.hibernate.TSysUserofusergroup;
import com.taskmanager.service.inter.UserInter;
public class MyUserDetailServiceImpl implements UserDetailsService {
UserInter userService;
public UserInter getUserService() {
return userService;
}
public void setUserService(UserInter userService) {
this.userService = userService;
}
// 登入默认会调整到这里
public UserDetails loadUserByUsername(String username)
throws UsernameNotFoundException {
System.out.println("username is " + username);
TSysUser users=null;
try {
users = this.userService.findByUsersLogin(username);
} catch (LoginException e) {
throw new UsernameNotFoundException(username);
} catch (SystemRunException e) {
throw new UsernameNotFoundException(username);
}
if (users == null) {
throw new UsernameNotFoundException(username);
}else {
if(!users.getStatus()){
throw new UsernameNotFoundException("该用户处于锁定状态");
}
}
Collection grantedAuths = obtionGrantedAuthorities(users);
boolean enables = true;
boolean accountNonExpired = true;
boolean credentialsNonExpired = true;
boolean accountNonLocked = true;
User userdetail = new User(users.getCode(), users.getPassword(),
enables, accountNonExpired, credentialsNonExpired,
accountNonLocked, grantedAuths);
return userdetail;
}
// 取得用户的权限
private Set obtionGrantedAuthorities(TSysUser user) {
Set authSet = new HashSet();
//获取用户所属组
Set userGroups = user.getTSysUserofusergroups();
for(TSysUserofusergroup userGroup : userGroups ){
//获取用户所属组 组对象
TSysUsergroup usgroup=userGroup.getTSysUsergroup();
//获取用户组对应 角色集合
Set charofgroups=usgroup.getTSysCharofgroups();
for (TSysCharofgroup charofgroup : charofgroups) {
TSysCharacter character=charofgroup.getTSysCharacter();
//获取角色对应权限集合
Set powerSystemofchars=
character.getTSysPowersystemofchars();
for(TSysPowersystemofchar powerofchar : powerSystemofchars){
authSet.add(
new GrantedAuthorityImpl(powerofchar.getTSysPowersystem().getRoleName()));
}
}
}
return authSet;
}
}
(4) MyAccessDecisionManager.java 验证是否拥有访问的权限
-
package com.taskmanager.web.security;
-
-
import java.util.Collection;
-
import java.util.Iterator;
-
-
import org.springframework.security.access.AccessDecisionManager;
-
import org.springframework.security.access.AccessDeniedException;
-
import org.springframework.security.access.ConfigAttribute;
-
import org.springframework.security.authentication.InsufficientAuthenticationException;
-
import org.springframework.security.core.Authentication;
-
import org.springframework.security.core.GrantedAuthority;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
public class MyAccessDecisionManager implements AccessDecisionManager {
-
-
public void decide(Authentication authentication, Object object,
-
Collection configAttributes)
-
throws AccessDeniedException, InsufficientAuthenticationException {
-
if(configAttributes == null) {
-
return;
-
}
-
-
Iterator iterator = configAttributes.iterator();
-
while(iterator.hasNext()) {
-
ConfigAttribute configAttribute = iterator.next();
-
-
String needPermission = configAttribute.getAttribute();
-
System.out.println("needPermission is " + needPermission);
-
-
for(GrantedAuthority ga : authentication.getAuthorities()) {
-
if(needPermission.equals(ga.getAuthority())) {
-
return;
-
}
-
}
-
}
-
-
throw new AccessDeniedException(" 没有权限访问");
-
}
-
-
public boolean supports(ConfigAttribute attribute) {
-
-
return true;
-
}
-
-
public boolean supports(Class> clazz) {
-
-
return true;
-
}
-
-
}
package com.taskmanager.web.security;
import java.util.Collection;
import java.util.Iterator;
import org.springframework.security.access.AccessDecisionManager;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.authentication.InsufficientAuthenticationException;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
/**
*AccessdecisionManager在Spring security中是很重要的。
*
*在验证部分简略提过了,所有的Authentication实现需要保存在一个GrantedAuthority对象数组中。
*这就是赋予给主体的权限。 GrantedAuthority对象通过AuthenticationManager
*保存到 Authentication对象里,然后从AccessDecisionManager读出来,进行授权判断。
*
*Spring Security提供了一些拦截器,来控制对安全对象的访问权限,例如方法调用或web请求。
*一个是否允许执行调用的预调用决定,是由AccessDecisionManager实现的。
*这个 AccessDecisionManager 被AbstractSecurityInterceptor调用,
*它用来作最终访问控制的决定。 这个AccessDecisionManager接口包含三个方法:
*
void decide(Authentication authentication, Object secureObject,
List config) throws AccessDeniedException;
boolean supports(ConfigAttribute attribute);
boolean supports(Class clazz);
从第一个方法可以看出来,AccessDecisionManager使用方法参数传递所有信息,这好像在认证评估时进行决定。
特别是,在真实的安全方法期望调用的时候,传递安全Object启用那些参数。
比如,让我们假设安全对象是一个MethodInvocation。
很容易为任何Customer参数查询MethodInvocation,
然后在AccessDecisionManager里实现一些有序的安全逻辑,来确认主体是否允许在那个客户上操作。
如果访问被拒绝,实现将抛出一个AccessDeniedException异常。
这个 supports(ConfigAttribute) 方法在启动的时候被
AbstractSecurityInterceptor调用,来决定AccessDecisionManager
是否可以执行传递ConfigAttribute。
supports(Class)方法被安全拦截器实现调用,
包含安全拦截器将显示的AccessDecisionManager支持安全对象的类型。
*/
public class MyAccessDecisionManager implements AccessDecisionManager {
public void decide(Authentication authentication, Object object,
Collection configAttributes)
throws AccessDeniedException, InsufficientAuthenticationException {
if(configAttributes == null) {
return;
}
//所请求的资源拥有的权限(一个资源对多个权限)
Iterator iterator = configAttributes.iterator();
while(iterator.hasNext()) {
ConfigAttribute configAttribute = iterator.next();
//访问所请求资源所需要的权限
String needPermission = configAttribute.getAttribute();
System.out.println("needPermission is " + needPermission);
//用户所拥有的权限authentication
for(GrantedAuthority ga : authentication.getAuthorities()) {
if(needPermission.equals(ga.getAuthority())) {
return;
}
}
}
//没有权限 会跳转到login.jsp页面
throw new AccessDeniedException(" 没有权限访问");
}
public boolean supports(ConfigAttribute attribute) {
// TODO Auto-generated method stub
return true;
}
public boolean supports(Class> clazz) {
// TODO Auto-generated method stub
return true;
}
}
2、spring security3 主要配置文件。
<!-- 该路径下的资源不用过滤 -->
<!--auto-config = true 则使用from-login. 如果不使用该属性 则默认为http-basic(没有session).-->
<!-- lowercase-comparisons:表示URL比较前先转为小写。-->
<!-- path-type:表示使用Apache Ant的匹配模式。-->
<!--access-denied-page:访问拒绝时转向的页面。-->
<!-- access-decision-manager-ref:指定了自定义的访问策略管理器。-->
<!--login-page:指定登录页面。 -->
<!-- login-processing-url:指定了客户在登录页面中按下 Sign In 按钮时要访问的 URL。-->
<!-- authentication-failure-url:指定了身份验证失败时跳转到的页面。-->
<!-- default-target-url:指定了成功进行身份验证和授权后默认呈现给用户的页面。-->
<!-- always-use-default-target:指定了是否在身份验证通过后总是跳转到default-target-url属性指定的URL。
-->
<!--logout-url:指定了用于响应退出系统请求的URL。其默认值为:/j_spring_security_logout。-->
<!-- logout-success-url:退出系统后转向的URL。-->
<!-- invalidate-session:指定在退出系统时是否要销毁Session。-->
<!-- 实现免登陆验证 -->
<!-- max-sessions:允许用户帐号登录的次数。范例限制用户只能登录一次。-->
<!-- 此值表示:用户第二次登录时,前一次的登录信息都被清空。-->
<!-- exception-if-maximum-exceeded:默认为false,-->
<!-- 当exception-if-maximum-exceeded="true"时系统会拒绝第二次登录。-->
<!-- 防止session攻击 -->
<!-- 同一个帐号 同时只能一个人登录 -->
<!--
事件监听:实现了ApplicationListener监听接口,包括AuthenticationCredentialsNotFoundEvent 事件,-->
<!-- AuthorizationFailureEvent事件,AuthorizedEvent事件, PublicInvocationEvent事件-->
<!-- 自定义资源文件 提示信息 -->
<!-- 配置过滤器 -->
<!-- 用户拥有的权限 -->
<!-- 用户是否拥有所请求资源的权限 -->
<!-- 资源与权限对应关系 -->
<!-- 实现了UserDetailsService的Bean -->
<!-- 登入 密码 采用MD5加密 -->
<!-- 验证用户请求资源 是否拥有权限 -->
<!-- 系统运行时加载 系统要拦截的资源 与用户请求时要过滤的资源 -->
<!-- 获取用户登入角色信息 -->
<!-- 用户的密码加密或解密 -->
3、 web.xml配置文件。
-
xml version="1.0" encoding="UTF-8"?>
-
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
-
<context-param>
-
<description>Spring applicationContextdescription>
-
<param-name>contextConfigLocationparam-name>
-
<param-value>
-
/WEB-INF/spring/application*.xml
-
param-value>
-
context-param>
-
<listener>
-
<description>SpringContextLoaderListenerdescription>
-
<display-name>SpringContextLoaderListenerdisplay-name>
-
<listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
-
listener>
-
-
<filter>
-
<filter-name>springSecurityFilterChainfilter-name>
-
<filter-class>org.springframework.web.filter.DelegatingFilterProxyfilter-class>
-
filter>
-
<filter-mapping>
-
<filter-name>springSecurityFilterChainfilter-name>
-
<url-pattern>*.jhurl-pattern>
-
<url-pattern>*.jspurl-pattern>
-
<url-pattern>/j_spring_security_checkurl-pattern>
-
<url-pattern>/j_spring_security_logouturl-pattern>
-
filter-mapping>
Spring applicationContext
contextConfigLocation
/WEB-INF/spring/application*.xml
SpringContextLoaderListener
SpringContextLoaderListener
org.springframework.web.context.ContextLoaderListener
<!-- spring scurity 拦截器 -->
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
*.jh
*.jsp
/j_spring_security_check
/j_spring_security_logout
4、流程
1)容器启动(MySecurityMetadataSource:loadResourceDefine加载系统资源与权限列表)
2)用户发出请求
3)过滤器拦截(MySecurityFilter:doFilter)
4)取得请求资源所需权限(MySecurityMetadataSource:getAttributes)
5)匹配用户拥有权限和请求权限(MyAccessDecisionManager:decide),如果用户没有相应的权限,
执行第6步,否则执行第7步。
6)登录
7)验证并授权(MyUserDetailServiceImpl:loadUserByUsername)
5、权限sql脚本
-
/*
-
Navicat MySQL Data Transfer
-
-
Source Server : mysql
-
Source Server Version : 50015
-
Source Host : localhost:8036
-
Source Database : taskmanager
-
-
Target Server Type : MYSQL
-
Target Server Version : 50015
-
File Encoding : 65001
-
-
Date: 2012-12-26 17:26:38
-
*/
-
-
SET FOREIGN_KEY_CHECKS=0;
-
-
-
-
DROP TABLE IF EXISTS `s_dict`;
-
CREATE TABLE `s_dict` (
-
`ID` int(50) NOT NULL auto_increment,
-
`DictType` varchar(10) NOT NULL,
-
`Code` varchar(20) NOT NULL,
-
`Name` varchar(50) NOT NULL,
-
`ParentID` varchar(20) default NULL,
-
PRIMARY KEY (`ID`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-
-
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_character`;
-
CREATE TABLE `t_sys_character` (
-
`ID` varchar(50) NOT NULL COMMENT '角色ID',
-
`NAME` varchar(30) NOT NULL COMMENT '角色名称',
-
`DESCRIPT` varchar(200) default NULL COMMENT '角色描述',
-
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '菜单状态',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`REMARK` varchar(100) default NULL COMMENT '备注',
-
`SEQID` decimal(12,0) default NULL COMMENT '顺序号',
-
PRIMARY KEY (`ID`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='角色表';
-
-
-
-
-
INSERT INTO t_sys_character VALUES ('297ef0cb3915b16a013915c7eb112312', '系统管理员', '系统管理员1', '1', '999999999999999', '2012-09-03 14:03:25', '', null);
-
INSERT INTO t_sys_character VALUES ('8a8a9691396b237101396b44825a0001', '分发任务', '任务分发', '1', '999999999999999', '2012-09-02 15:55:12', '', null);
-
INSERT INTO t_sys_character VALUES ('8a8a9691396b237101396b44aa060002', '任务接受', '任务接受', '1', '999999999999999', '2012-09-02 15:55:39', '', null);
-
INSERT INTO t_sys_character VALUES ('8a8a9691396b237101396b55f45b0017', '任务审核', '任务审核', '1', '999999999999999', '2012-09-02 15:55:57', '', null);
-
INSERT INTO t_sys_character VALUES ('8a8a9691398b2dc201398b2f0c400001', '测试', '测试', '1', '999999999999999', '2012-09-03 16:11:19', null, null);
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_charofgroup`;
-
CREATE TABLE `t_sys_charofgroup` (
-
`ID` varchar(50) NOT NULL COMMENT 'ID',
-
`GROUPID` varchar(50) NOT NULL COMMENT '用户组ID',
-
`CHARID` varchar(50) NOT NULL COMMENT '角色ID',
-
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`REMARK` varchar(100) default NULL COMMENT '备注',
-
PRIMARY KEY (`ID`),
-
KEY `t_sys_charofgroup_groupid` (`GROUPID`),
-
KEY `t_sys_charofgroup_charid` (`CHARID`),
-
CONSTRAINT `t_sys_charofgroup_charid` FOREIGN KEY (`CHARID`) REFERENCES `t_sys_character` (`ID`) ON DELETE CASCADE,
-
CONSTRAINT `t_sys_charofgroup_groupid` FOREIGN KEY (`GROUPID`) REFERENCES `t_sys_usergroup` (`ID`) ON DELETE CASCADE
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='用户组角色表';
-
-
-
-
-
INSERT INTO t_sys_charofgroup VALUES ('8a8a9691396b237101396b4bd0c6000a', '8a8a9691396b237101396b4b98be0009', '8a8a9691396b237101396b44aa060002', '1', '999999999999999', '2012-08-28 11:34:54', null);
-
INSERT INTO t_sys_charofgroup VALUES ('8a8a9691396b237101396b4bebb0000b', '8a8a9691396b237101396b4b819c0008', '8a8a9691396b237101396b44825a0001', '1', '999999999999999', '2012-08-28 11:35:01', null);
-
INSERT INTO t_sys_charofgroup VALUES ('8a8a9691396b237101396b594d2a001e', '1234567890', '297ef0cb3915b16a013915c7eb112312', '1', '999999999999999', '2012-08-28 11:49:38', null);
-
INSERT INTO t_sys_charofgroup VALUES ('8a8a9691396b237101396b5ec80f0022', '8a8a9691396b237101396b5ea8230021', '8a8a9691396b237101396b55f45b0017', '1', '999999999999999', '2012-08-28 11:55:37', null);
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_department`;
-
CREATE TABLE `t_sys_department` (
-
`ID` varchar(50) NOT NULL COMMENT 'ID',
-
`ZJJGDM` varchar(9) default NULL COMMENT '部门组织机构代码',
-
`CODE` varchar(20) NOT NULL COMMENT '部门简码',
-
`ABBRNAME` varchar(30) NOT NULL COMMENT '是否股室',
-
`NAME` varchar(60) NOT NULL COMMENT '部门全体',
-
`CHIEF` varchar(50) default NULL COMMENT '部门负责人名称',
-
`INNET` decimal(1,0) default '1' COMMENT '是否在网',
-
`ORDERNO` decimal(6,0) default NULL COMMENT '排列顺序',
-
`STATUS` decimal(1,0) default '1' COMMENT '是否有效',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`OTHERS` varchar(50) default NULL COMMENT '备注',
-
`ISENFOREORG` decimal(1,0) default '1' COMMENT '是否行政审批部门',
-
`WEBSITENAME` varchar(100) default NULL COMMENT '门户网站名称',
-
`WEBSITEADDR` varchar(200) default NULL COMMENT '门户网站地址',
-
`XZQHID` varchar(20) default NULL COMMENT '行政区划ID',
-
`JGGXSBM` varchar(4) default NULL COMMENT '监管关系识别码',
-
`layer` int(11) NOT NULL default '1',
-
`PARENTID` varchar(50) default NULL COMMENT '上级部门ID',
-
PRIMARY KEY (`ID`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='部门信息表';
-
-
-
-
-
INSERT INTO t_sys_department VALUES ('297ef0cb391b4ce301391b4e3d8e0001', null, '123', '否', '123', '999999999999999', '1', '123', '0', '999999999999999', '2012-10-08 17:45:08', null, null, null, '123', null, null, '2', '297ef0cb391b4ce301391b4e3d8e6530');
-
INSERT INTO t_sys_department VALUES ('297ef0cb391b4ce301391b4e3d8e6530', null, 'gly', '是', '管理员部门', '8a8a9691396b237101396b5f73ef0023', '1', '99', '1', '999999999999999', '2012-09-24 14:04:11', null, null, null, '', null, null, '1', '');
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_duty`;
-
CREATE TABLE `t_sys_duty` (
-
`id` varchar(50) NOT NULL COMMENT '职位代码',
-
`name` varchar(20) NOT NULL COMMENT '职位名称',
-
`ORDERNO` int(3) default NULL COMMENT '排序号',
-
PRIMARY KEY (`id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-
-
-
-
-
INSERT INTO t_sys_duty VALUES ('0001', '办事员', '1');
-
INSERT INTO t_sys_duty VALUES ('0002', '科员', '15');
-
INSERT INTO t_sys_duty VALUES ('0003', '站长', '16');
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_menu`;
-
CREATE TABLE `t_sys_menu` (
-
`ID` varchar(50) NOT NULL COMMENT 'ID',
-
`NAME` varchar(30) NOT NULL COMMENT '菜单名称',
-
`DESCRIPT` varchar(200) default NULL COMMENT '描述',
-
`LAYER` int(1) NOT NULL default '1' COMMENT '层次,只会有1、2、3、4、5'';',
-
`PARENTID` varchar(50) default NULL COMMENT '父菜单ID',
-
`ACTIONNAME` varchar(100) default NULL COMMENT '响应此菜单的ACTION ,只有此菜单作为末级菜单时才填写',
-
`ORDERNO` decimal(3,0) NOT NULL default '0' COMMENT '排列次序',
-
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`REMARK` varchar(100) default NULL COMMENT '备注',
-
`SYSTEM` decimal(1,0) NOT NULL default '0' COMMENT '菜单所属系统',
-
`PARAMETER` varchar(50) default NULL COMMENT '链接此菜单的参数',
-
PRIMARY KEY (`ID`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='菜单表';
-
-
-
-
-
INSERT INTO t_sys_menu VALUES ('20050909150915816077', '权限代码管理', '', '2', '2006062709371100003', '/manager/power/list.jh', '2', '1', '999999999999999', '2012-08-18 17:47:53', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('20050909150953452259', '系统管理', '系统管理', '1', '', '', '0', '0', '999999999999999', '2012-08-17 16:38:14', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('20050909679021123458', '部门用户管理', '', '2', '2006062709371100003', '/manager/user/list.jh', '6', '1', '999999999999999', '2012-08-18 17:48:01', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('20050916100910655954', '部门用户组管理', '', '2', '2006062709371100003', '/manager/usergroup/list.jh', '5', '1', '999999999999999', '2012-08-18 17:48:10', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('2006042709371511122', '角色权限管理', '角色权限管理', '2', '2006062709371100003', '/manager/character/list.jh', '4', '1', '999999999999999', '2012-08-18 17:48:20', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('2006051180061800000', '个人设置', '个人设置', '1', '', '', '15', '1', '999999999999999', '2012-08-14 21:50:03', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('2006051180061800090', '修改密码', '修改密码', '2', '2006051180061800000', '/manager/user/pass.jh', '7', '1', '999999999999999', '2012-08-18 17:48:45', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('2006061909095300001', '系统菜单管理', '系统菜单管理', '2', '2006062709371100003', '/manager/menu/list.jh', '3', '1', '999999999999999', '2012-08-18 17:48:52', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('2006062709371100003', '系统管理', '系统管理', '1', '', '', '1', '1', '999999999999999', '2012-08-17 16:21:38', '系统管理', '0', '');
-
INSERT INTO t_sys_menu VALUES ('297ef0cb3913a1ff013913ac623d0001', '部门管理', '部门管理', '2', '2006062709371100003', '/manager/department/list.jh', '13', '1', '999999999999999', '2012-08-18 17:49:04', '部门管理', '0', '');
-
INSERT INTO t_sys_menu VALUES ('402880013956bf7e01395707b2050001', '审核', '任务审核', '2', '8a8a96913933a87f013933b0be1f0001', '/case/auditList.jh', '18', '1', '999999999999999', '2012-08-24 13:12:00', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('402880013956bf7e01395707ef1e0002', '完成', '任务完成', '2', '8a8a96913933a87f013933b0be1f0001', '/case/fulfilList.jh', '19', '0', '999999999999999', '2012-09-24 17:01:04', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('40288001397655b80139765885070001', '查询', '任务查询', '2', '8a8a96913933a87f013933b0be1f0001', '/case/queryList.jh', '20', '1', '999999999999999', '2012-08-30 15:09:04', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('40288001397655b80139765921080002', '统计', '任务统计', '2', '8a8a96913933a87f013933b0be1f0001', '/case/statisticsList.jh', '21', '1', '999999999999999', '2012-08-30 15:11:54', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('8a8a9691390a5c7001390a6703e70003', '安全退出', '安全退出', '2', '2006051180061800000', '/j_spring_security_logout', '11', '1', '999999999999999', '2012-08-09 16:01:27', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('8a8a96913933a87f013933b0be1f0001', '任务管理', '任务管理', '1', '', '', '0', '1', '999999999999999', '2012-08-17 16:38:27', '任务管理', '0', '');
-
INSERT INTO t_sys_menu VALUES ('8a8a96913933a87f013933b4c32d0002', '创建', '创建任务', '2', '8a8a96913933a87f013933b0be1f0001', '/case/createCase.jh', '15', '0', '999999999999999', '2012-09-21 22:45:17', '创建新任务', '0', '');
-
INSERT INTO t_sys_menu VALUES ('8a8a96913933a87f013933bdd022000b', '接收', '接收任务', '2', '8a8a96913933a87f013933b0be1f0001', '/case/receiveCase.jh', '16', '1', '999999999999999', '2012-08-18 17:49:30', '', '0', '');
-
INSERT INTO t_sys_menu VALUES ('8a8a9691394d77c001394da115300005', '发布', '分发任务', '2', '8a8a96913933a87f013933b0be1f0001', '/case/distributionCase.jh', '17', '1', '999999999999999', '2012-08-22 17:20:48', '分发任务', '0', '');
-
INSERT INTO t_sys_menu VALUES ('8a8a9691398ad08401398ad2adf20001', '系统权限管理', '系统权限管理', '2', '2006062709371100003', '/manager/powerSystem/list.jh', '4', '1', '999999999999999', '2012-09-03 14:30:26', '', '0', '');
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_power`;
-
CREATE TABLE `t_sys_power` (
-
`ID` varchar(50) NOT NULL COMMENT '权限ID',
-
`NAME` varchar(30) NOT NULL COMMENT '权限名称',
-
`DESCRIPT` varchar(200) default NULL COMMENT '描述',
-
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
-
`ISPUBLIC` decimal(1,0) default '0' COMMENT '是否公共权限',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`REMARK` varchar(100) default NULL COMMENT '备注',
-
PRIMARY KEY (`ID`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='权限代码表';
-
-
-
-
-
INSERT INTO t_sys_power VALUES ('200512012106555', '系统管理部门用户管理', '系统管理部门用户管理', '1', '1', '999999999999999', '2012-08-14 21:02:38', '');
-
INSERT INTO t_sys_power VALUES ('8a8a96913933a87f013933b6c0f10003', '任务分发组', '任务分发组的全新', '1', '1', '999999999999999', '2012-08-17 16:32:58', null);
-
INSERT INTO t_sys_power VALUES ('8a8a96913933a87f013933b768ba0004', '公共权限', '登入者通用的权限', '1', '1', '999999999999999', '2012-08-17 16:33:41', null);
-
INSERT INTO t_sys_power VALUES ('8a8a9691396b237101396b45cf5c0003', '任务接受组', '任务接受组', '1', '1', '999999999999999', '2012-08-28 11:28:20', null);
-
INSERT INTO t_sys_power VALUES ('8a8a9691396b237101396b523c350012', '任务审核', '', '1', '1', '999999999999999', '2012-08-28 11:41:55', null);
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_powerofaction`;
-
CREATE TABLE `t_sys_powerofaction` (
-
`ID` varchar(50) NOT NULL COMMENT 'ID',
-
`POWERID` varchar(50) NOT NULL COMMENT '权限ID',
-
`ACTIONNAME` varchar(100) NOT NULL COMMENT '权限对应的ACTION名称',
-
`DESCRIPT` varchar(200) default NULL COMMENT '描述',
-
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`REMARK` varchar(100) default NULL COMMENT '备注',
-
PRIMARY KEY (`ID`),
-
KEY `t_sys_powerofaction_id` (`POWERID`),
-
KEY `t_sys_powerofaction_prid` (`POWERID`),
-
CONSTRAINT `t_sys_powerofaction_prid` FOREIGN KEY (`POWERID`) REFERENCES `t_sys_power` (`ID`) ON DELETE CASCADE ON UPDATE NO ACTION
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='权限对应ACTION表';
-
-
-
-
-
INSERT INTO t_sys_powerofaction VALUES ('200512012102112', '200512012106555', '/manager/power/list.jh', '权限代码管理', '1', '999999999999999', '2012-08-18 17:46:27', null);
-
INSERT INTO t_sys_powerofaction VALUES ('200512012197343', '200512012106555', '/manager/menu/list.jh', '菜单管理', '1', '999999999999999', '2012-08-18 17:50:23', null);
-
INSERT INTO t_sys_powerofaction VALUES ('200512012197349', '200512012106555', '/manager/character/list.jh', '角色权限管理', '1', '999999999999999', '2012-08-18 17:50:34', null);
-
INSERT INTO t_sys_powerofaction VALUES ('200512012412244', '200512012106555', '/manager/user/list.jh', '部门用户管理', '1', '999999999999999', '2012-08-18 17:50:40', null);
-
INSERT INTO t_sys_powerofaction VALUES ('200512012435444', '200512012106555', '/manager/usergroup/list.jh', '部门用户组管理', '1', '999999999999999', '2012-08-18 17:50:47', null);
-
INSERT INTO t_sys_powerofaction VALUES ('297ef0cb3913a1ff013913ad56520002', '200512012106555', '/manager/department/list.jh', '部门管理', '1', '999999999999999', '2012-08-18 17:50:56', null);
-
INSERT INTO t_sys_powerofaction VALUES ('40288001397655b80139765d3f990003', '8a8a96913933a87f013933b768ba0004', '/case/queryList.jh', '任务查询', '1', '999999999999999', '2012-08-30 15:09:46', null);
-
INSERT INTO t_sys_powerofaction VALUES ('40288001397655b80139765ea8ce0004', '8a8a96913933a87f013933b768ba0004', '/case/statisticsList.jh', '任务统计', '1', '999999999999999', '2012-08-30 15:11:18', null);
-
INSERT INTO t_sys_powerofaction VALUES ('8a8a96913933a87f013933b8268c0005', '8a8a96913933a87f013933b768ba0004', '/system/default.jsp', '系统默认首页', '1', '999999999999999', '2012-08-20 13:09:49', null);
-
INSERT INTO t_sys_powerofaction VALUES ('8a8a96913933a87f013933b8b05d0006', '8a8a96913933a87f013933b768ba0004', '/manager/user/pass.jh', '修改密码', '1', '999999999999999', '2012-08-18 17:52:09', null);
-
INSERT INTO t_sys_powerofaction VALUES ('8a8a96913933a87f013933b91adf0007', '8a8a96913933a87f013933b6c0f10003', '/case/createCase.jh', '创建任务', '1', '999999999999999', '2012-08-18 17:51:19', null);
-
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691394d77c001394da301500006', '8a8a96913933a87f013933b6c0f10003', '/case/distributionCase.jh', '任务分发', '1', '999999999999999', '2012-08-22 17:21:31', null);
-
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691396b237101396b469b660004', '8a8a9691396b237101396b45cf5c0003', '/case/receiveCase.jh', '任务接受', '1', '999999999999999', '2012-08-28 11:29:13', null);
-
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691396b237101396b47605c0005', '8a8a9691396b237101396b45cf5c0003', '/case/fulfilList.jh', '任务完成', '1', '999999999999999', '2012-08-28 11:30:03', null);
-
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691396b237101396b52745c0013', '8a8a9691396b237101396b523c350012', '/case/auditList.jh', '任务审核', '1', '999999999999999', '2012-08-28 11:42:09', null);
-
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691398ad08401398ad3798f0002', '200512012106555', '/manager/powerSystem/list.jh', '系统权限管理', '1', '999999999999999', '2012-09-03 14:31:18', null);
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_powerofchar`;
-
CREATE TABLE `t_sys_powerofchar` (
-
`ID` varchar(50) NOT NULL COMMENT 'ID',
-
`CHARID` varchar(50) NOT NULL COMMENT '角色ID',
-
`POWERID` varchar(50) NOT NULL COMMENT '权限ID',
-
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`REMARK` varchar(100) default NULL COMMENT '备注',
-
PRIMARY KEY (`ID`),
-
KEY `t_sys_powerofchar_powerid` (`POWERID`),
-
KEY `t_sys_powerofchar_cid` (`CHARID`),
-
KEY `t_sys_powerofchar_chid` (`CHARID`),
-
KEY `t_sys_powerof_prid` (`POWERID`),
-
CONSTRAINT `t_sys_powerofchar_chid` FOREIGN KEY (`CHARID`) REFERENCES `t_sys_character` (`ID`) ON DELETE CASCADE,
-
CONSTRAINT `t_sys_powerof_prid` FOREIGN KEY (`POWERID`) REFERENCES `t_sys_power` (`ID`) ON DELETE CASCADE ON UPDATE NO ACTION
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='角色权限表';
-
-
-
-
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b4edd4a000e', '8a8a9691396b237101396b44825a0001', '8a8a96913933a87f013933b6c0f10003', '1', '999999999999999', '2012-08-28 11:38:14', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b4edd4a000f', '8a8a9691396b237101396b44825a0001', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-08-28 11:38:14', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b4ef14f0010', '8a8a9691396b237101396b44aa060002', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-08-28 11:38:19', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b4ef14f0011', '8a8a9691396b237101396b44aa060002', '8a8a9691396b237101396b45cf5c0003', '1', '999999999999999', '2012-08-28 11:38:19', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924b30019', '297ef0cb3915b16a013915c7eb112312', '200512012106555', '1', '999999999999999', '2012-08-28 11:49:27', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924b3001a', '297ef0cb3915b16a013915c7eb112312', '8a8a96913933a87f013933b6c0f10003', '1', '999999999999999', '2012-08-28 11:49:27', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924c3001b', '297ef0cb3915b16a013915c7eb112312', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-08-28 11:49:27', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924c3001c', '297ef0cb3915b16a013915c7eb112312', '8a8a9691396b237101396b45cf5c0003', '1', '999999999999999', '2012-08-28 11:49:27', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924d2001d', '297ef0cb3915b16a013915c7eb112312', '8a8a9691396b237101396b523c350012', '1', '999999999999999', '2012-08-28 11:49:27', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5e28c2001f', '8a8a9691396b237101396b55f45b0017', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-08-28 11:54:56', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5e28c20020', '8a8a9691396b237101396b55f45b0017', '8a8a9691396b237101396b523c350012', '1', '999999999999999', '2012-08-28 11:54:56', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090010', '297ef0cb3915b16a013915c7eb112312', '200512012106555', '1', '999999999999999', '2012-09-03 16:14:46', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090011', '297ef0cb3915b16a013915c7eb112312', '8a8a96913933a87f013933b6c0f10003', '1', '999999999999999', '2012-09-03 16:14:46', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090012', '297ef0cb3915b16a013915c7eb112312', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-09-03 16:14:46', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090013', '297ef0cb3915b16a013915c7eb112312', '8a8a9691396b237101396b45cf5c0003', '1', '999999999999999', '2012-09-03 16:14:46', null);
-
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090014', '297ef0cb3915b16a013915c7eb112312', '8a8a9691396b237101396b523c350012', '1', '999999999999999', '2012-09-03 16:14:46', null);
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_powersystem`;
-
CREATE TABLE `t_sys_powersystem` (
-
`ID` varchar(20) NOT NULL,
-
`role_name` varchar(20) NOT NULL,
-
`intercept_url` varchar(50) NOT NULL,
-
`STATUS` decimal(11,0) NOT NULL default '1',
-
`MODPERSON` varchar(20) default NULL,
-
`MODTIME` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-
`REMARK` varchar(100) default NULL,
-
`DESCRIPT` varchar(50) default NULL,
-
PRIMARY KEY (`ID`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-
-
-
-
-
INSERT INTO t_sys_powersystem VALUES ('9201209031534081000', 'role_admin', '/manager/**/*.jh', '1', '999999999999999', '2012-09-03 15:34:08', '管理员', null);
-
INSERT INTO t_sys_powersystem VALUES ('9201209031534551001', 'role_admin', '/system/manager/**/*.jsp', '1', '999999999999999', '2012-09-03 15:34:55', '管理员', null);
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_powersystemofchar`;
-
CREATE TABLE `t_sys_powersystemofchar` (
-
`ID` varchar(20) NOT NULL,
-
`CHARID` varchar(50) default NULL,
-
`POWERsystemID` varchar(50) default NULL,
-
`STATUS` decimal(11,0) NOT NULL default '1',
-
`MODPERSON` varchar(20) default NULL,
-
`MODTIME` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-
`REMARK` varchar(100) default NULL,
-
PRIMARY KEY (`ID`),
-
KEY `t_sys_powersystemofchar_CHARID` (`CHARID`),
-
KEY `t_sys_powersystemofchar_POWERsystemID` (`POWERsystemID`),
-
CONSTRAINT `t_sys_powersystemofchar_CHARID` FOREIGN KEY (`CHARID`) REFERENCES `t_sys_character` (`ID`),
-
CONSTRAINT `t_sys_powersystemofchar_POWERsystemID` FOREIGN KEY (`POWERsystemID`) REFERENCES `t_sys_powersystem` (`ID`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-
-
-
-
-
INSERT INTO t_sys_powersystemofchar VALUES ('9201209031608531000', '297ef0cb3915b16a013915c7eb112312', '9201209031534081000', '1', '999999999999999', '2012-09-03 16:08:53', null);
-
INSERT INTO t_sys_powersystemofchar VALUES ('9201209031608531001', '297ef0cb3915b16a013915c7eb112312', '9201209031534551001', '1', '999999999999999', '2012-09-03 16:08:53', null);
-
-
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_user`;
-
CREATE TABLE `t_sys_user` (
-
`ID` varchar(50) NOT NULL COMMENT '用户ID',
-
`CODE` varchar(20) NOT NULL COMMENT '用户登入代码',
-
`NAME` varchar(40) NOT NULL COMMENT '用户中文姓名',
-
`PASSWORD` varchar(60) NOT NULL COMMENT '用户登入密码',
-
`DUTYID` varchar(6) NOT NULL COMMENT '职务',
-
`LOGINTYPE` decimal(1,0) default '0' COMMENT '登入类别',
-
`SEX` decimal(1,0) default '1' COMMENT '性别',
-
`MOBILE` varchar(50) default NULL COMMENT '手机',
-
`EMAIL` varchar(120) default NULL COMMENT '邮件',
-
`CAID` varchar(128) default NULL COMMENT '对应CA的唯一ID',
-
`ORDERNO` varchar(6) default NULL COMMENT '排列顺序',
-
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`REMARK` varchar(100) default NULL COMMENT '备注',
-
`departmentID` varchar(59) NOT NULL,
-
PRIMARY KEY (`ID`),
-
UNIQUE KEY `CODE_UNIQUE` (`CODE`),
-
KEY `t_sys_userdepartmentID` (`departmentID`),
-
KEY `t_sys_userdutyID` (`DUTYID`),
-
CONSTRAINT `t_sys_userdepartmentID` FOREIGN KEY (`departmentID`) REFERENCES `t_sys_department` (`ID`) ON DELETE NO ACTION,
-
CONSTRAINT `t_sys_userdutyID` FOREIGN KEY (`DUTYID`) REFERENCES `t_sys_duty` (`id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='用户表';
-
-
-
-
-
INSERT INTO t_sys_user VALUES ('8a8a9691396b237101396b4e0624000c', '123456', '任务分发', 'e10adc3949ba59abbe56e057f20f883e', '0001', null, '1', '', '', null, '', '1', '999999999999999', '2012-08-28 11:37:19', '', '297ef0cb391b4ce301391b4e3d8e6530');
-
INSERT INTO t_sys_user VALUES ('8a8a9691396b237101396b5f73ef0023', '666666', '任务接受', 'f379eaf3c831b04de153469d1bec345e', '0003', null, '1', '', '', null, '', '1', '999999999999999', '2012-08-28 11:56:21', '', '297ef0cb391b4ce301391b4e3d8e6530');
-
INSERT INTO t_sys_user VALUES ('999999999999999', 'admin', '超级管理员', '21232f297a57a5a743894a0e4a801fc3', '0022', null, '1', '', 'zhou@136.com', null, '20', '1', '999999999999999', '2012-09-14 11:17:18', '123', '297ef0cb391b4ce301391b4e3d8e6530');
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_usergroup`;
-
CREATE TABLE `t_sys_usergroup` (
-
`ID` varchar(50) NOT NULL COMMENT '用户组ID',
-
`NAME` varchar(30) NOT NULL COMMENT '用户组名称',
-
`DESCRIPT` varchar(200) default NULL COMMENT '描述',
-
`DEPARTID` varchar(20) default NULL COMMENT '部门ID',
-
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`REMARK` varchar(100) default NULL COMMENT '备注',
-
`PARENT` varchar(20) default NULL,
-
`XZQHID` varchar(20) default NULL COMMENT '关联的行政区域ID',
-
`LAYER` decimal(2,0) default NULL,
-
PRIMARY KEY (`ID`)
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='用户组表';
-
-
-
-
-
INSERT INTO t_sys_usergroup VALUES ('1234567890', '系统管理员组', '系统管理员', null, '1', '999999999999999', '2012-08-18 18:11:52', null, null, null, null);
-
INSERT INTO t_sys_usergroup VALUES ('8a8a9691396b237101396b4b819c0008', '任务分发', '任务分发', null, '1', '999999999999999', '2012-08-28 11:34:34', null, null, null, null);
-
INSERT INTO t_sys_usergroup VALUES ('8a8a9691396b237101396b4b98be0009', '任务接受', '任务接受', null, '1', '999999999999999', '2012-08-28 11:34:40', null, null, null, null);
-
INSERT INTO t_sys_usergroup VALUES ('8a8a9691396b237101396b5ea8230021', '任务审核', '任务审核', null, '1', '999999999999999', '2012-08-28 11:55:29', null, null, null, null);
-
-
-
-
-
DROP TABLE IF EXISTS `t_sys_userofusergroup`;
-
CREATE TABLE `t_sys_userofusergroup` (
-
`ID` varchar(50) NOT NULL,
-
`USERID` varchar(50) NOT NULL COMMENT '用户ID',
-
`USERGROUPID` varchar(50) NOT NULL COMMENT '用户组ID',
-
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
-
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
-
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
-
`REMARK` varchar(100) default NULL COMMENT '备注',
-
PRIMARY KEY (`ID`),
-
KEY `t_sys_userofusergroup_userid` (`USERID`),
-
KEY `t_sys_userofusergroup_usergroupid` (`USERGROUPID`),
-
CONSTRAINT `t_sys_userofusergroup_usergroupid` FOREIGN KEY (`USERGROUPID`) REFERENCES `t_sys_usergroup` (`ID`) ON DELETE CASCADE,
-
CONSTRAINT `t_sys_userofusergroup_userid` FOREIGN KEY (`USERID`) REFERENCES `t_sys_user` (`ID`) ON DELETE CASCADE ON UPDATE NO ACTION
-
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='用户组对应用户关系表';
-
-
-
-
-
INSERT INTO t_sys_userofusergroup VALUES ('297ef0cb3919d144013919e873fd0008', '999999999999999', '1234567890', '1', '999999999999999', '2012-08-13 09:48:56', null);
-
INSERT INTO t_sys_userofusergroup VALUES ('8a8a9691396b237101396b4e0634000d', '8a8a9691396b237101396b4e0624000c', '8a8a9691396b237101396b4b819c0008', '1', '8a8a9691396b237101396b4e0624000c', '2012-08-28 11:37:19', null);
-
INSERT INTO t_sys_userofusergroup VALUES ('8a8a9691396b237101396b5f73ff0024', '8a8a9691396b237101396b5f73ef0023', '8a8a9691396b237101396b4b98be0009', '1', '8a8a9691396b237101396b5f73ef0023', '2012-08-28 11:56:21', null);
/*
Navicat MySQL Data Transfer
Source Server : mysql
Source Server Version : 50015
Source Host : localhost:8036
Source Database : taskmanager
Target Server Type : MYSQL
Target Server Version : 50015
File Encoding : 65001
Date: 2012-12-26 17:26:38
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `s_dict`
-- ----------------------------
DROP TABLE IF EXISTS `s_dict`;
CREATE TABLE `s_dict` (
`ID` int(50) NOT NULL auto_increment,
`DictType` varchar(10) NOT NULL,
`Code` varchar(20) NOT NULL,
`Name` varchar(50) NOT NULL,
`ParentID` varchar(20) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-- ----------------------------
-- Table structure for `t_sys_character`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_character`;
CREATE TABLE `t_sys_character` (
`ID` varchar(50) NOT NULL COMMENT '角色ID',
`NAME` varchar(30) NOT NULL COMMENT '角色名称',
`DESCRIPT` varchar(200) default NULL COMMENT '角色描述',
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '菜单状态',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`REMARK` varchar(100) default NULL COMMENT '备注',
`SEQID` decimal(12,0) default NULL COMMENT '顺序号',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='角色表';
-- ----------------------------
-- Records of t_sys_character
-- ----------------------------
INSERT INTO t_sys_character VALUES ('297ef0cb3915b16a013915c7eb112312', '系统管理员', '系统管理员1', '1', '999999999999999', '2012-09-03 14:03:25', '', null);
INSERT INTO t_sys_character VALUES ('8a8a9691396b237101396b44825a0001', '分发任务', '任务分发', '1', '999999999999999', '2012-09-02 15:55:12', '', null);
INSERT INTO t_sys_character VALUES ('8a8a9691396b237101396b44aa060002', '任务接受', '任务接受', '1', '999999999999999', '2012-09-02 15:55:39', '', null);
INSERT INTO t_sys_character VALUES ('8a8a9691396b237101396b55f45b0017', '任务审核', '任务审核', '1', '999999999999999', '2012-09-02 15:55:57', '', null);
INSERT INTO t_sys_character VALUES ('8a8a9691398b2dc201398b2f0c400001', '测试', '测试', '1', '999999999999999', '2012-09-03 16:11:19', null, null);
-- ----------------------------
-- Table structure for `t_sys_charofgroup`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_charofgroup`;
CREATE TABLE `t_sys_charofgroup` (
`ID` varchar(50) NOT NULL COMMENT 'ID',
`GROUPID` varchar(50) NOT NULL COMMENT '用户组ID',
`CHARID` varchar(50) NOT NULL COMMENT '角色ID',
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`REMARK` varchar(100) default NULL COMMENT '备注',
PRIMARY KEY (`ID`),
KEY `t_sys_charofgroup_groupid` (`GROUPID`),
KEY `t_sys_charofgroup_charid` (`CHARID`),
CONSTRAINT `t_sys_charofgroup_charid` FOREIGN KEY (`CHARID`) REFERENCES `t_sys_character` (`ID`) ON DELETE CASCADE,
CONSTRAINT `t_sys_charofgroup_groupid` FOREIGN KEY (`GROUPID`) REFERENCES `t_sys_usergroup` (`ID`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='用户组角色表';
-- ----------------------------
-- Records of t_sys_charofgroup
-- ----------------------------
INSERT INTO t_sys_charofgroup VALUES ('8a8a9691396b237101396b4bd0c6000a', '8a8a9691396b237101396b4b98be0009', '8a8a9691396b237101396b44aa060002', '1', '999999999999999', '2012-08-28 11:34:54', null);
INSERT INTO t_sys_charofgroup VALUES ('8a8a9691396b237101396b4bebb0000b', '8a8a9691396b237101396b4b819c0008', '8a8a9691396b237101396b44825a0001', '1', '999999999999999', '2012-08-28 11:35:01', null);
INSERT INTO t_sys_charofgroup VALUES ('8a8a9691396b237101396b594d2a001e', '1234567890', '297ef0cb3915b16a013915c7eb112312', '1', '999999999999999', '2012-08-28 11:49:38', null);
INSERT INTO t_sys_charofgroup VALUES ('8a8a9691396b237101396b5ec80f0022', '8a8a9691396b237101396b5ea8230021', '8a8a9691396b237101396b55f45b0017', '1', '999999999999999', '2012-08-28 11:55:37', null);
-- ----------------------------
-- Table structure for `t_sys_department`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_department`;
CREATE TABLE `t_sys_department` (
`ID` varchar(50) NOT NULL COMMENT 'ID',
`ZJJGDM` varchar(9) default NULL COMMENT '部门组织机构代码',
`CODE` varchar(20) NOT NULL COMMENT '部门简码',
`ABBRNAME` varchar(30) NOT NULL COMMENT '是否股室',
`NAME` varchar(60) NOT NULL COMMENT '部门全体',
`CHIEF` varchar(50) default NULL COMMENT '部门负责人名称',
`INNET` decimal(1,0) default '1' COMMENT '是否在网',
`ORDERNO` decimal(6,0) default NULL COMMENT '排列顺序',
`STATUS` decimal(1,0) default '1' COMMENT '是否有效',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`OTHERS` varchar(50) default NULL COMMENT '备注',
`ISENFOREORG` decimal(1,0) default '1' COMMENT '是否行政审批部门',
`WEBSITENAME` varchar(100) default NULL COMMENT '门户网站名称',
`WEBSITEADDR` varchar(200) default NULL COMMENT '门户网站地址',
`XZQHID` varchar(20) default NULL COMMENT '行政区划ID',
`JGGXSBM` varchar(4) default NULL COMMENT '监管关系识别码',
`layer` int(11) NOT NULL default '1',
`PARENTID` varchar(50) default NULL COMMENT '上级部门ID',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='部门信息表';
-- ----------------------------
-- Records of t_sys_department
-- ----------------------------
INSERT INTO t_sys_department VALUES ('297ef0cb391b4ce301391b4e3d8e0001', null, '123', '否', '123', '999999999999999', '1', '123', '0', '999999999999999', '2012-10-08 17:45:08', null, null, null, '123', null, null, '2', '297ef0cb391b4ce301391b4e3d8e6530');
INSERT INTO t_sys_department VALUES ('297ef0cb391b4ce301391b4e3d8e6530', null, 'gly', '是', '管理员部门', '8a8a9691396b237101396b5f73ef0023', '1', '99', '1', '999999999999999', '2012-09-24 14:04:11', null, null, null, '', null, null, '1', '');
-- ----------------------------
-- Table structure for `t_sys_duty`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_duty`;
CREATE TABLE `t_sys_duty` (
`id` varchar(50) NOT NULL COMMENT '职位代码',
`name` varchar(20) NOT NULL COMMENT '职位名称',
`ORDERNO` int(3) default NULL COMMENT '排序号',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of t_sys_duty
-- ----------------------------
INSERT INTO t_sys_duty VALUES ('0001', '办事员', '1');
INSERT INTO t_sys_duty VALUES ('0002', '科员', '15');
INSERT INTO t_sys_duty VALUES ('0003', '站长', '16');
-- ----------------------------
-- Table structure for `t_sys_menu`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_menu`;
CREATE TABLE `t_sys_menu` (
`ID` varchar(50) NOT NULL COMMENT 'ID',
`NAME` varchar(30) NOT NULL COMMENT '菜单名称',
`DESCRIPT` varchar(200) default NULL COMMENT '描述',
`LAYER` int(1) NOT NULL default '1' COMMENT '层次,只会有1、2、3、4、5'';',
`PARENTID` varchar(50) default NULL COMMENT '父菜单ID',
`ACTIONNAME` varchar(100) default NULL COMMENT '响应此菜单的ACTION ,只有此菜单作为末级菜单时才填写',
`ORDERNO` decimal(3,0) NOT NULL default '0' COMMENT '排列次序',
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`REMARK` varchar(100) default NULL COMMENT '备注',
`SYSTEM` decimal(1,0) NOT NULL default '0' COMMENT '菜单所属系统',
`PARAMETER` varchar(50) default NULL COMMENT '链接此菜单的参数',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='菜单表';
-- ----------------------------
-- Records of t_sys_menu
-- ----------------------------
INSERT INTO t_sys_menu VALUES ('20050909150915816077', '权限代码管理', '', '2', '2006062709371100003', '/manager/power/list.jh', '2', '1', '999999999999999', '2012-08-18 17:47:53', '', '0', '');
INSERT INTO t_sys_menu VALUES ('20050909150953452259', '系统管理', '系统管理', '1', '', '', '0', '0', '999999999999999', '2012-08-17 16:38:14', '', '0', '');
INSERT INTO t_sys_menu VALUES ('20050909679021123458', '部门用户管理', '', '2', '2006062709371100003', '/manager/user/list.jh', '6', '1', '999999999999999', '2012-08-18 17:48:01', '', '0', '');
INSERT INTO t_sys_menu VALUES ('20050916100910655954', '部门用户组管理', '', '2', '2006062709371100003', '/manager/usergroup/list.jh', '5', '1', '999999999999999', '2012-08-18 17:48:10', '', '0', '');
INSERT INTO t_sys_menu VALUES ('2006042709371511122', '角色权限管理', '角色权限管理', '2', '2006062709371100003', '/manager/character/list.jh', '4', '1', '999999999999999', '2012-08-18 17:48:20', '', '0', '');
INSERT INTO t_sys_menu VALUES ('2006051180061800000', '个人设置', '个人设置', '1', '', '', '15', '1', '999999999999999', '2012-08-14 21:50:03', '', '0', '');
INSERT INTO t_sys_menu VALUES ('2006051180061800090', '修改密码', '修改密码', '2', '2006051180061800000', '/manager/user/pass.jh', '7', '1', '999999999999999', '2012-08-18 17:48:45', '', '0', '');
INSERT INTO t_sys_menu VALUES ('2006061909095300001', '系统菜单管理', '系统菜单管理', '2', '2006062709371100003', '/manager/menu/list.jh', '3', '1', '999999999999999', '2012-08-18 17:48:52', '', '0', '');
INSERT INTO t_sys_menu VALUES ('2006062709371100003', '系统管理', '系统管理', '1', '', '', '1', '1', '999999999999999', '2012-08-17 16:21:38', '系统管理', '0', '');
INSERT INTO t_sys_menu VALUES ('297ef0cb3913a1ff013913ac623d0001', '部门管理', '部门管理', '2', '2006062709371100003', '/manager/department/list.jh', '13', '1', '999999999999999', '2012-08-18 17:49:04', '部门管理', '0', '');
INSERT INTO t_sys_menu VALUES ('402880013956bf7e01395707b2050001', '审核', '任务审核', '2', '8a8a96913933a87f013933b0be1f0001', '/case/auditList.jh', '18', '1', '999999999999999', '2012-08-24 13:12:00', '', '0', '');
INSERT INTO t_sys_menu VALUES ('402880013956bf7e01395707ef1e0002', '完成', '任务完成', '2', '8a8a96913933a87f013933b0be1f0001', '/case/fulfilList.jh', '19', '0', '999999999999999', '2012-09-24 17:01:04', '', '0', '');
INSERT INTO t_sys_menu VALUES ('40288001397655b80139765885070001', '查询', '任务查询', '2', '8a8a96913933a87f013933b0be1f0001', '/case/queryList.jh', '20', '1', '999999999999999', '2012-08-30 15:09:04', '', '0', '');
INSERT INTO t_sys_menu VALUES ('40288001397655b80139765921080002', '统计', '任务统计', '2', '8a8a96913933a87f013933b0be1f0001', '/case/statisticsList.jh', '21', '1', '999999999999999', '2012-08-30 15:11:54', '', '0', '');
INSERT INTO t_sys_menu VALUES ('8a8a9691390a5c7001390a6703e70003', '安全退出', '安全退出', '2', '2006051180061800000', '/j_spring_security_logout', '11', '1', '999999999999999', '2012-08-09 16:01:27', '', '0', '');
INSERT INTO t_sys_menu VALUES ('8a8a96913933a87f013933b0be1f0001', '任务管理', '任务管理', '1', '', '', '0', '1', '999999999999999', '2012-08-17 16:38:27', '任务管理', '0', '');
INSERT INTO t_sys_menu VALUES ('8a8a96913933a87f013933b4c32d0002', '创建', '创建任务', '2', '8a8a96913933a87f013933b0be1f0001', '/case/createCase.jh', '15', '0', '999999999999999', '2012-09-21 22:45:17', '创建新任务', '0', '');
INSERT INTO t_sys_menu VALUES ('8a8a96913933a87f013933bdd022000b', '接收', '接收任务', '2', '8a8a96913933a87f013933b0be1f0001', '/case/receiveCase.jh', '16', '1', '999999999999999', '2012-08-18 17:49:30', '', '0', '');
INSERT INTO t_sys_menu VALUES ('8a8a9691394d77c001394da115300005', '发布', '分发任务', '2', '8a8a96913933a87f013933b0be1f0001', '/case/distributionCase.jh', '17', '1', '999999999999999', '2012-08-22 17:20:48', '分发任务', '0', '');
INSERT INTO t_sys_menu VALUES ('8a8a9691398ad08401398ad2adf20001', '系统权限管理', '系统权限管理', '2', '2006062709371100003', '/manager/powerSystem/list.jh', '4', '1', '999999999999999', '2012-09-03 14:30:26', '', '0', '');
-- ----------------------------
-- Table structure for `t_sys_power`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_power`;
CREATE TABLE `t_sys_power` (
`ID` varchar(50) NOT NULL COMMENT '权限ID',
`NAME` varchar(30) NOT NULL COMMENT '权限名称',
`DESCRIPT` varchar(200) default NULL COMMENT '描述',
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
`ISPUBLIC` decimal(1,0) default '0' COMMENT '是否公共权限',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`REMARK` varchar(100) default NULL COMMENT '备注',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='权限代码表';
-- ----------------------------
-- Records of t_sys_power
-- ----------------------------
INSERT INTO t_sys_power VALUES ('200512012106555', '系统管理部门用户管理', '系统管理部门用户管理', '1', '1', '999999999999999', '2012-08-14 21:02:38', '');
INSERT INTO t_sys_power VALUES ('8a8a96913933a87f013933b6c0f10003', '任务分发组', '任务分发组的全新', '1', '1', '999999999999999', '2012-08-17 16:32:58', null);
INSERT INTO t_sys_power VALUES ('8a8a96913933a87f013933b768ba0004', '公共权限', '登入者通用的权限', '1', '1', '999999999999999', '2012-08-17 16:33:41', null);
INSERT INTO t_sys_power VALUES ('8a8a9691396b237101396b45cf5c0003', '任务接受组', '任务接受组', '1', '1', '999999999999999', '2012-08-28 11:28:20', null);
INSERT INTO t_sys_power VALUES ('8a8a9691396b237101396b523c350012', '任务审核', '', '1', '1', '999999999999999', '2012-08-28 11:41:55', null);
-- ----------------------------
-- Table structure for `t_sys_powerofaction`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_powerofaction`;
CREATE TABLE `t_sys_powerofaction` (
`ID` varchar(50) NOT NULL COMMENT 'ID',
`POWERID` varchar(50) NOT NULL COMMENT '权限ID',
`ACTIONNAME` varchar(100) NOT NULL COMMENT '权限对应的ACTION名称',
`DESCRIPT` varchar(200) default NULL COMMENT '描述',
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`REMARK` varchar(100) default NULL COMMENT '备注',
PRIMARY KEY (`ID`),
KEY `t_sys_powerofaction_id` (`POWERID`),
KEY `t_sys_powerofaction_prid` (`POWERID`),
CONSTRAINT `t_sys_powerofaction_prid` FOREIGN KEY (`POWERID`) REFERENCES `t_sys_power` (`ID`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='权限对应ACTION表';
-- ----------------------------
-- Records of t_sys_powerofaction
-- ----------------------------
INSERT INTO t_sys_powerofaction VALUES ('200512012102112', '200512012106555', '/manager/power/list.jh', '权限代码管理', '1', '999999999999999', '2012-08-18 17:46:27', null);
INSERT INTO t_sys_powerofaction VALUES ('200512012197343', '200512012106555', '/manager/menu/list.jh', '菜单管理', '1', '999999999999999', '2012-08-18 17:50:23', null);
INSERT INTO t_sys_powerofaction VALUES ('200512012197349', '200512012106555', '/manager/character/list.jh', '角色权限管理', '1', '999999999999999', '2012-08-18 17:50:34', null);
INSERT INTO t_sys_powerofaction VALUES ('200512012412244', '200512012106555', '/manager/user/list.jh', '部门用户管理', '1', '999999999999999', '2012-08-18 17:50:40', null);
INSERT INTO t_sys_powerofaction VALUES ('200512012435444', '200512012106555', '/manager/usergroup/list.jh', '部门用户组管理', '1', '999999999999999', '2012-08-18 17:50:47', null);
INSERT INTO t_sys_powerofaction VALUES ('297ef0cb3913a1ff013913ad56520002', '200512012106555', '/manager/department/list.jh', '部门管理', '1', '999999999999999', '2012-08-18 17:50:56', null);
INSERT INTO t_sys_powerofaction VALUES ('40288001397655b80139765d3f990003', '8a8a96913933a87f013933b768ba0004', '/case/queryList.jh', '任务查询', '1', '999999999999999', '2012-08-30 15:09:46', null);
INSERT INTO t_sys_powerofaction VALUES ('40288001397655b80139765ea8ce0004', '8a8a96913933a87f013933b768ba0004', '/case/statisticsList.jh', '任务统计', '1', '999999999999999', '2012-08-30 15:11:18', null);
INSERT INTO t_sys_powerofaction VALUES ('8a8a96913933a87f013933b8268c0005', '8a8a96913933a87f013933b768ba0004', '/system/default.jsp', '系统默认首页', '1', '999999999999999', '2012-08-20 13:09:49', null);
INSERT INTO t_sys_powerofaction VALUES ('8a8a96913933a87f013933b8b05d0006', '8a8a96913933a87f013933b768ba0004', '/manager/user/pass.jh', '修改密码', '1', '999999999999999', '2012-08-18 17:52:09', null);
INSERT INTO t_sys_powerofaction VALUES ('8a8a96913933a87f013933b91adf0007', '8a8a96913933a87f013933b6c0f10003', '/case/createCase.jh', '创建任务', '1', '999999999999999', '2012-08-18 17:51:19', null);
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691394d77c001394da301500006', '8a8a96913933a87f013933b6c0f10003', '/case/distributionCase.jh', '任务分发', '1', '999999999999999', '2012-08-22 17:21:31', null);
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691396b237101396b469b660004', '8a8a9691396b237101396b45cf5c0003', '/case/receiveCase.jh', '任务接受', '1', '999999999999999', '2012-08-28 11:29:13', null);
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691396b237101396b47605c0005', '8a8a9691396b237101396b45cf5c0003', '/case/fulfilList.jh', '任务完成', '1', '999999999999999', '2012-08-28 11:30:03', null);
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691396b237101396b52745c0013', '8a8a9691396b237101396b523c350012', '/case/auditList.jh', '任务审核', '1', '999999999999999', '2012-08-28 11:42:09', null);
INSERT INTO t_sys_powerofaction VALUES ('8a8a9691398ad08401398ad3798f0002', '200512012106555', '/manager/powerSystem/list.jh', '系统权限管理', '1', '999999999999999', '2012-09-03 14:31:18', null);
-- ----------------------------
-- Table structure for `t_sys_powerofchar`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_powerofchar`;
CREATE TABLE `t_sys_powerofchar` (
`ID` varchar(50) NOT NULL COMMENT 'ID',
`CHARID` varchar(50) NOT NULL COMMENT '角色ID',
`POWERID` varchar(50) NOT NULL COMMENT '权限ID',
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`REMARK` varchar(100) default NULL COMMENT '备注',
PRIMARY KEY (`ID`),
KEY `t_sys_powerofchar_powerid` (`POWERID`),
KEY `t_sys_powerofchar_cid` (`CHARID`),
KEY `t_sys_powerofchar_chid` (`CHARID`),
KEY `t_sys_powerof_prid` (`POWERID`),
CONSTRAINT `t_sys_powerofchar_chid` FOREIGN KEY (`CHARID`) REFERENCES `t_sys_character` (`ID`) ON DELETE CASCADE,
CONSTRAINT `t_sys_powerof_prid` FOREIGN KEY (`POWERID`) REFERENCES `t_sys_power` (`ID`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='角色权限表';
-- ----------------------------
-- Records of t_sys_powerofchar
-- ----------------------------
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b4edd4a000e', '8a8a9691396b237101396b44825a0001', '8a8a96913933a87f013933b6c0f10003', '1', '999999999999999', '2012-08-28 11:38:14', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b4edd4a000f', '8a8a9691396b237101396b44825a0001', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-08-28 11:38:14', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b4ef14f0010', '8a8a9691396b237101396b44aa060002', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-08-28 11:38:19', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b4ef14f0011', '8a8a9691396b237101396b44aa060002', '8a8a9691396b237101396b45cf5c0003', '1', '999999999999999', '2012-08-28 11:38:19', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924b30019', '297ef0cb3915b16a013915c7eb112312', '200512012106555', '1', '999999999999999', '2012-08-28 11:49:27', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924b3001a', '297ef0cb3915b16a013915c7eb112312', '8a8a96913933a87f013933b6c0f10003', '1', '999999999999999', '2012-08-28 11:49:27', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924c3001b', '297ef0cb3915b16a013915c7eb112312', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-08-28 11:49:27', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924c3001c', '297ef0cb3915b16a013915c7eb112312', '8a8a9691396b237101396b45cf5c0003', '1', '999999999999999', '2012-08-28 11:49:27', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5924d2001d', '297ef0cb3915b16a013915c7eb112312', '8a8a9691396b237101396b523c350012', '1', '999999999999999', '2012-08-28 11:49:27', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5e28c2001f', '8a8a9691396b237101396b55f45b0017', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-08-28 11:54:56', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691396b237101396b5e28c20020', '8a8a9691396b237101396b55f45b0017', '8a8a9691396b237101396b523c350012', '1', '999999999999999', '2012-08-28 11:54:56', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090010', '297ef0cb3915b16a013915c7eb112312', '200512012106555', '1', '999999999999999', '2012-09-03 16:14:46', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090011', '297ef0cb3915b16a013915c7eb112312', '8a8a96913933a87f013933b6c0f10003', '1', '999999999999999', '2012-09-03 16:14:46', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090012', '297ef0cb3915b16a013915c7eb112312', '8a8a96913933a87f013933b768ba0004', '1', '999999999999999', '2012-09-03 16:14:46', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090013', '297ef0cb3915b16a013915c7eb112312', '8a8a9691396b237101396b45cf5c0003', '1', '999999999999999', '2012-09-03 16:14:46', null);
INSERT INTO t_sys_powerofchar VALUES ('8a8a9691398b2dc201398b3232090014', '297ef0cb3915b16a013915c7eb112312', '8a8a9691396b237101396b523c350012', '1', '999999999999999', '2012-09-03 16:14:46', null);
-- ----------------------------
-- Table structure for `t_sys_powersystem`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_powersystem`;
CREATE TABLE `t_sys_powersystem` (
`ID` varchar(20) NOT NULL,
`role_name` varchar(20) NOT NULL,
`intercept_url` varchar(50) NOT NULL,
`STATUS` decimal(11,0) NOT NULL default '1',
`MODPERSON` varchar(20) default NULL,
`MODTIME` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`REMARK` varchar(100) default NULL,
`DESCRIPT` varchar(50) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of t_sys_powersystem
-- ----------------------------
INSERT INTO t_sys_powersystem VALUES ('9201209031534081000', 'role_admin', '/manager/**/*.jh', '1', '999999999999999', '2012-09-03 15:34:08', '管理员', null);
INSERT INTO t_sys_powersystem VALUES ('9201209031534551001', 'role_admin', '/system/manager/**/*.jsp', '1', '999999999999999', '2012-09-03 15:34:55', '管理员', null);
-- ----------------------------
-- Table structure for `t_sys_powersystemofchar`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_powersystemofchar`;
CREATE TABLE `t_sys_powersystemofchar` (
`ID` varchar(20) NOT NULL,
`CHARID` varchar(50) default NULL,
`POWERsystemID` varchar(50) default NULL,
`STATUS` decimal(11,0) NOT NULL default '1',
`MODPERSON` varchar(20) default NULL,
`MODTIME` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`REMARK` varchar(100) default NULL,
PRIMARY KEY (`ID`),
KEY `t_sys_powersystemofchar_CHARID` (`CHARID`),
KEY `t_sys_powersystemofchar_POWERsystemID` (`POWERsystemID`),
CONSTRAINT `t_sys_powersystemofchar_CHARID` FOREIGN KEY (`CHARID`) REFERENCES `t_sys_character` (`ID`),
CONSTRAINT `t_sys_powersystemofchar_POWERsystemID` FOREIGN KEY (`POWERsystemID`) REFERENCES `t_sys_powersystem` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of t_sys_powersystemofchar
-- ----------------------------
INSERT INTO t_sys_powersystemofchar VALUES ('9201209031608531000', '297ef0cb3915b16a013915c7eb112312', '9201209031534081000', '1', '999999999999999', '2012-09-03 16:08:53', null);
INSERT INTO t_sys_powersystemofchar VALUES ('9201209031608531001', '297ef0cb3915b16a013915c7eb112312', '9201209031534551001', '1', '999999999999999', '2012-09-03 16:08:53', null);
-- ----------------------------
-- Table structure for `t_sys_user`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_user`;
CREATE TABLE `t_sys_user` (
`ID` varchar(50) NOT NULL COMMENT '用户ID',
`CODE` varchar(20) NOT NULL COMMENT '用户登入代码',
`NAME` varchar(40) NOT NULL COMMENT '用户中文姓名',
`PASSWORD` varchar(60) NOT NULL COMMENT '用户登入密码',
`DUTYID` varchar(6) NOT NULL COMMENT '职务',
`LOGINTYPE` decimal(1,0) default '0' COMMENT '登入类别',
`SEX` decimal(1,0) default '1' COMMENT '性别',
`MOBILE` varchar(50) default NULL COMMENT '手机',
`EMAIL` varchar(120) default NULL COMMENT '邮件',
`CAID` varchar(128) default NULL COMMENT '对应CA的唯一ID',
`ORDERNO` varchar(6) default NULL COMMENT '排列顺序',
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`REMARK` varchar(100) default NULL COMMENT '备注',
`departmentID` varchar(59) NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `CODE_UNIQUE` (`CODE`),
KEY `t_sys_userdepartmentID` (`departmentID`),
KEY `t_sys_userdutyID` (`DUTYID`),
CONSTRAINT `t_sys_userdepartmentID` FOREIGN KEY (`departmentID`) REFERENCES `t_sys_department` (`ID`) ON DELETE NO ACTION,
CONSTRAINT `t_sys_userdutyID` FOREIGN KEY (`DUTYID`) REFERENCES `t_sys_duty` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='用户表';
-- ----------------------------
-- Records of t_sys_user
-- ----------------------------
INSERT INTO t_sys_user VALUES ('8a8a9691396b237101396b4e0624000c', '123456', '任务分发', 'e10adc3949ba59abbe56e057f20f883e', '0001', null, '1', '', '', null, '', '1', '999999999999999', '2012-08-28 11:37:19', '', '297ef0cb391b4ce301391b4e3d8e6530');
INSERT INTO t_sys_user VALUES ('8a8a9691396b237101396b5f73ef0023', '666666', '任务接受', 'f379eaf3c831b04de153469d1bec345e', '0003', null, '1', '', '', null, '', '1', '999999999999999', '2012-08-28 11:56:21', '', '297ef0cb391b4ce301391b4e3d8e6530');
INSERT INTO t_sys_user VALUES ('999999999999999', 'admin', '超级管理员', '21232f297a57a5a743894a0e4a801fc3', '0022', null, '1', '', 'zhou@136.com', null, '20', '1', '999999999999999', '2012-09-14 11:17:18', '123', '297ef0cb391b4ce301391b4e3d8e6530');
-- ----------------------------
-- Table structure for `t_sys_usergroup`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_usergroup`;
CREATE TABLE `t_sys_usergroup` (
`ID` varchar(50) NOT NULL COMMENT '用户组ID',
`NAME` varchar(30) NOT NULL COMMENT '用户组名称',
`DESCRIPT` varchar(200) default NULL COMMENT '描述',
`DEPARTID` varchar(20) default NULL COMMENT '部门ID',
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`REMARK` varchar(100) default NULL COMMENT '备注',
`PARENT` varchar(20) default NULL,
`XZQHID` varchar(20) default NULL COMMENT '关联的行政区域ID',
`LAYER` decimal(2,0) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='用户组表';
-- ----------------------------
-- Records of t_sys_usergroup
-- ----------------------------
INSERT INTO t_sys_usergroup VALUES ('1234567890', '系统管理员组', '系统管理员', null, '1', '999999999999999', '2012-08-18 18:11:52', null, null, null, null);
INSERT INTO t_sys_usergroup VALUES ('8a8a9691396b237101396b4b819c0008', '任务分发', '任务分发', null, '1', '999999999999999', '2012-08-28 11:34:34', null, null, null, null);
INSERT INTO t_sys_usergroup VALUES ('8a8a9691396b237101396b4b98be0009', '任务接受', '任务接受', null, '1', '999999999999999', '2012-08-28 11:34:40', null, null, null, null);
INSERT INTO t_sys_usergroup VALUES ('8a8a9691396b237101396b5ea8230021', '任务审核', '任务审核', null, '1', '999999999999999', '2012-08-28 11:55:29', null, null, null, null);
-- ----------------------------
-- Table structure for `t_sys_userofusergroup`
-- ----------------------------
DROP TABLE IF EXISTS `t_sys_userofusergroup`;
CREATE TABLE `t_sys_userofusergroup` (
`ID` varchar(50) NOT NULL,
`USERID` varchar(50) NOT NULL COMMENT '用户ID',
`USERGROUPID` varchar(50) NOT NULL COMMENT '用户组ID',
`STATUS` decimal(1,0) NOT NULL default '1' COMMENT '是否有效',
`MODPERSON` varchar(50) default NULL COMMENT '最后修改人',
`MODTIME` timestamp NULL default NULL COMMENT '最后修改时间',
`REMARK` varchar(100) default NULL COMMENT '备注',
PRIMARY KEY (`ID`),
KEY `t_sys_userofusergroup_userid` (`USERID`),
KEY `t_sys_userofusergroup_usergroupid` (`USERGROUPID`),
CONSTRAINT `t_sys_userofusergroup_usergroupid` FOREIGN KEY (`USERGROUPID`) REFERENCES `t_sys_usergroup` (`ID`) ON DELETE CASCADE,
CONSTRAINT `t_sys_userofusergroup_userid` FOREIGN KEY (`USERID`) REFERENCES `t_sys_user` (`ID`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='用户组对应用户关系表';
-- ----------------------------
-- Records of t_sys_userofusergroup
-- ----------------------------
INSERT INTO t_sys_userofusergroup VALUES ('297ef0cb3919d144013919e873fd0008', '999999999999999', '1234567890', '1', '999999999999999', '2012-08-13 09:48:56', null);
INSERT INTO t_sys_userofusergroup VALUES ('8a8a9691396b237101396b4e0634000d', '8a8a9691396b237101396b4e0624000c', '8a8a9691396b237101396b4b819c0008', '1', '8a8a9691396b237101396b4e0624000c', '2012-08-28 11:37:19', null);
INSERT INTO t_sys_userofusergroup VALUES ('8a8a9691396b237101396b5f73ff0024', '8a8a9691396b237101396b5f73ef0023', '8a8a9691396b237101396b4b98be0009', '1', '8a8a9691396b237101396b5f73ef0023', '2012-08-28 11:56:21', null);
6 、附件为完整程序与数据库脚本, 导入sql脚本时请注意工具的差异化, 我用的工具是Navicat Lite
下篇期待linux相关文章