package com.ssi.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;
import com.ssi.action.BaseAction;
import com.ssi.entity.User;
import com.ssi.formBean.UserFormBean;
import com.ssi.service.IUserManagerService;
import com.ssi.system.SystemTools;
import com.opensymphony.xwork2.ModelDriven;
/**
* <p>Description: 用户管理Action类</p>
* <p>所有的Action类都继承自BaseAction,这样有什么公用的变量方法啥的可以不用重复写</p>
* <p>此项目大体流程就只有登录,注册,还有查看用户,登录,注册未设置权限拦截,查看用户经过权限拦截,登录后将用户信息,用户所拥有的权限放入session中,用户做某些操作时如查看删除用户,先验证
* 是否登录,再提取用户的目的权限,看session中是否有此权限。</p>
* <p>用户的注册可以加审批环节,将用户User再加一个变量state,来标识审批状态,如1是刚注册 2是审批通过,3是拒绝。登录时验证完帐号密码再验证是否已审批</p>
* <p>用户的权限分配没有写,只是简单弄个表手动录入供调用,如果做大型项目,n多人,n多权限,光凭一个user_power表是不方便记录查询的,可以将权限划组,人员与权限组进行对应,相关代码后期我会写出
* 我的博客Blog http://blog.csdn.net/Wallbanger</p>
* <p>QQ Group 2177712 有不懂的可以进来讨论</p>
*/
@SuppressWarnings("unchecked")
public class UserManagerAction extends BaseAction implements ModelDriven<UserFormBean>{
private static final long serialVersionUID = -5043146482200672502L;
private UserFormBean userFormBean = new UserFormBean();
private IUserManagerService userManagerService;
public UserFormBean getModel() {
return userFormBean;
}
public void setUserManagerService(IUserManagerService userManagerService) {
this.userManagerService = userManagerService;
}
/**
* @return 验证登录
*/
public String userLogin(){
User user = userManagerService.showUserInfoByAccount(userFormBean.getUserAccount());//按提交的帐号查询数据库
String errorMsg = "";
if(user==null){
errorMsg = "帐号"+userFormBean.getUserAccount()+"不存在!";
}else{
if(!user.getUserPass().equals(userFormBean.getUserPass())){//对比提交的密码与数据库密码
errorMsg = "密码错误!";
}else{
UserFormBean us = new UserFormBean();//重新new一个防止将用户密码放入session中
us.setUserId(user.getUserId());
us.setUserName(user.getUserName());
List<String> powerList = userManagerService.showUserAllPowersById(user.getUserId());
session.put("userPowers", powerList);//如果验证通过则将用户id用户名放入session备用于用户的一些操作,如修改密码,首页显示用户名等根据你项目的不同肯定很多操作都需要记录操作人的id
session.put("userFormBean", us);//如果验证通过则将用户id用户名放入session备用于用户的一些操作,如修改密码,首页显示用户名等根据你项目的不同肯定很多操作都需要记录操作人的id
return SUCCESS;//返回登录成功
}
}
request.setAttribute("errorMsg", errorMsg);
return LOGIN;//其它都返回登录界面重新登录并返回错误信息errorMsg
}
/**
* 验证登录帐号唯一性
*/
public String checkAccount() {
String account = request.getParameter("account");
User user = userManagerService.showUserInfoByAccount(account);
Map map = new HashMap();
if (user==null) {
map.put("checkFlag", true);
map.put("checkMsg", "");
}else{
map.put("checkFlag", false);
map.put("checkMsg", "帐号【"+account+"】已存在!");
}
JSONObject obj = JSONObject.fromObject(map);
result = obj.toString();
return "ajax";
}
/**
* @return 保存用户注册
*/
public String saveRegist(){
User user = new User();
user.setUserId(SystemTools.uniqueId());
user.setUserAccount(userFormBean.getUserAccount());
user.setUserPass(userFormBean.getUserPass());
user.setUserName(userFormBean.getUserName());
user.setUserSex(userFormBean.isUserSex());
user.setUserBirth(userFormBean.getUserBirth());
userManagerService.saveRegist(user);
return SUCCESS;
}
/**
* @return 查看所有用户
*/
public String checkAllUser(){
List<User> list = userManagerService.checkAllUser();
List<UserFormBean> formList = new ArrayList<UserFormBean>();
//将实体类转化为表单类
for (int i = 0; i < list.size(); i++) {
User user = list.get(i);
UserFormBean userBean = new UserFormBean();
userBean.setUserId(user.getUserId());
userBean.setUserName(user.getUserName());
userBean.setUserSex(user.isUserSex());
userBean.setUserBirth(user.getUserBirth());
formList.add(userBean);
}
request.setAttribute("formList", formList);
return SUCCESS;
}
/**
* @return 删除所有用户
*/
public String deleteAllUser(){
//逗你玩,这个自己写
return SUCCESS;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Struts Spring Ibatis SSI 整合开发登录注册实例 (117个子文件)
UserManagerAction.class 4KB
DbDao.class 3KB
AuthorizationInterceptor.class 3KB
SystemTools.class 2KB
UserManagerServiceImpl.class 2KB
BaseAction.class 2KB
UserFormBean.class 2KB
User.class 2KB
MyDailyRollingFileAppender.class 662B
IbatisQueryIds.class 583B
InterDbDao.class 512B
IUserManagerService.class 505B
.classpath 4KB
org.eclipse.wst.jsdt.ui.superType.container 49B
datepicker.css 4KB
datepicker.css 4KB
common.css 2KB
WdatePicker.css 158B
img.gif 2KB
img.gif 2KB
datePicker.gif 1KB
spring.jar 2.81MB
aspectjweaver.jar 1.47MB
freemarker-2.3.19.jar 909KB
struts2-core-2.3.4.jar 765KB
xwork-core-2.3.4.jar 614KB
c3p0-0.9.1.2.jar 596KB
commons-collections-3.1.jar 546KB
mysql-connector-java-5.0.8-bin.jar 528KB
spring-beans.jar 477KB
spring-context.jar 466KB
javassist.jar 460KB
antlr-2.7.6.jar 433KB
standard.jar 384KB
ibatis-2.3.4.726.jar 375KB
spring-orm.jar 369KB
log4j.jar 350KB
spring-jdbc.jar 328KB
spring-aop.jar 318KB
cglib-nodep-2.1_3.jar 317KB
commons-lang3-3.1.jar 308KB
spring-core.jar 279KB
commons-lang-2.4.jar 256KB
commons-beanutils-1.8.0.jar 226KB
spring-tx.jar 226KB
ognl-3.0.5.jar 222KB
spring-web.jar 190KB
pinyin4j-2.5.0.jar 184KB
commons-io-2.0.1.jar 156KB
json-lib-2.3-jdk15.jar 148KB
commons-dbcp.jar 119KB
ezmorph-1.0.6.jar 84KB
struts2-json-plugin-2.3.4.jar 69KB
commons-pool.jar 61KB
commons-fileupload-1.2.2.jar 58KB
commons-logging-1.0.4.jar 37KB
jaxr-api.jar 31KB
struts2-spring-plugin-2.3.4.jar 21KB
jstl.jar 20KB
struts2-junit-plugin-2.3.4.jar 20KB
slf4j-api-1.5.0.jar 16KB
json_simple-1.1.jar 16KB
jsmartcom_zh_CN.jar 13KB
jta.jar 13KB
UserManagerAction.java 5KB
SystemTools.java 3KB
BaseAction.java 2KB
AuthorizationInterceptor.java 2KB
DbDao.java 2KB
User.java 1KB
InterDbDao.java 1KB
UserFormBean.java 1KB
UserManagerServiceImpl.java 994B
IUserManagerService.java 660B
IbatisQueryIds.java 472B
MyDailyRollingFileAppender.java 318B
bg.jpg 307B
jquery-1.8.0.js 93KB
calendar.js 21KB
WdatePicker.js 9KB
zh-cn.js 1KB
zh-tw.js 1KB
en.js 644B
common.js 107B
.jsdtscope 500B
zhuce.jsp 4KB
login.jsp 2KB
user_ck_all.jsp 907B
index.jsp 769B
powerError.jsp 308B
loginError.jsp 307B
.mymetadata 303B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.core.resources.prefs 364B
.project 1KB
log4j.properties 2KB
log4j.properties 2KB
common-logging.properties 384B
common-logging.properties 384B
struts.properties 188B
共 117 条
- 1
- 2
资源评论
- YiBuXiaoCai2013-07-26非常不错,可以消化一段时间了
- doumiji2014-06-18不错,可是不能直接运行,能够再详细讲一下如何运行和配置就好了,debug中...
- binge520cn2014-02-08非常不错,还不错
Wallbanger
- 粉丝: 76
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功