struts2实现用户登录的简单权限控制.docx

上传人:b****6 文档编号:4763947 上传时间:2022-12-08 格式:DOCX 页数:19 大小:137.04KB
下载 相关 举报
struts2实现用户登录的简单权限控制.docx_第1页
第1页 / 共19页
struts2实现用户登录的简单权限控制.docx_第2页
第2页 / 共19页
struts2实现用户登录的简单权限控制.docx_第3页
第3页 / 共19页
struts2实现用户登录的简单权限控制.docx_第4页
第4页 / 共19页
struts2实现用户登录的简单权限控制.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

struts2实现用户登录的简单权限控制.docx

《struts2实现用户登录的简单权限控制.docx》由会员分享,可在线阅读,更多相关《struts2实现用户登录的简单权限控制.docx(19页珍藏版)》请在冰豆网上搜索。

struts2实现用户登录的简单权限控制.docx

struts2实现用户登录的简单权限控制

struts2实现登录用户的简单的权限设置

声明:

由于代码过多,之摘下了添加用户权限和用户登录后所显示各自各有那些权限

一:

所需的数据库表和sql语句

[html]viewplaincopyprint?

1.--创建权限表

2.createtablesystem.purview

3.(

4.pvaluenumber(3)primarykey,

5.pnamevarchar2(20),

6.pmodulevarchar2(20)

7.);

8.

9.insertintosystem.purviewvalues(1,'添加','新闻');

10.insertintosystem.purviewvalues(2,'修改','新闻');

11.insertintosystem.purviewvalues(3,'删除','新闻');

12.insertintosystem.purviewvalues(4,'查询','新闻');

13.

14.insertintosystem.purviewvalues(5,'添加','公告');

15.insertintosystem.purviewvalues(6,'修改','公告');

16.insertintosystem.purviewvalues(7,'删除','公告');

17.insertintosystem.purviewvalues(8,'查询','公告');

18.

19.

20.--创建角色表

21.createtablesystem.roler

22.(

23.idvarchar2(20)primarykey,

24.ridvarchar2(20),

25.rnamevarchar2(20)

26.);

27.

28.createsequencesystem.roler_sequence

29.startwith1

30.incrementby1

31.nomaxvalue

32.cache20;

33.

34.createtriggersystem.roler_trigger

35.beforeinsert

36.onsystem.roler

37.foreachrow

38.when(new.idisnull)

39.begin

40.selectsystem.roler_sequence.nextvalinto:

new.idfromdual;

41.end;

--创建权限表

createtablesystem.purview

pvaluenumber(3)primarykey,

pnamevarchar2(20),

pmodulevarchar2(20)

);

insertintosystem.purviewvalues(1,'添加','新闻');

insertintosystem.purviewvalues(2,'修改','新闻');

insertintosystem.purviewvalues(3,'删除','新闻');

insertintosystem.purviewvalues(4,'查询','新闻');

insertintosystem.purviewvalues(5,'添加','公告');

insertintosystem.purviewvalues(6,'修改','公告');

insertintosystem.purviewvalues(7,'删除','公告');

insertintosystem.purviewvalues(8,'查询','公告');

 

--创建角色表

createtablesystem.roler

idvarchar2(20)primarykey,

ridvarchar2(20),

rnamevarchar2(20)

);

createsequencesystem.roler_sequence

startwith1

incrementby1

nomaxvalue

cache20;

createtriggersystem.roler_trigger

beforeinsert

onsystem.roler

foreachrow

when(new.idisnull)

begin

selectsystem.roler_sequence.nextvalinto:

new.idfromdual;

end;

1)roler表

2)purview表

二:

添加权限

1)添加角色jsp

[html]viewplaincopyprint?

1.<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

2.<%@pageisELIgnored="false"%>

3.<%@tagliburi="/struts-tags"prefix="s"%>

4.

5.

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

6.

7.

8.

9.

10.

11.

12.

13.

14.角色名

15.

权限

16.

17.新闻

18.

19.

20.

iteratorvalue="purviewList"var="pur">

21.

22.

iftest="${pur.pmodule=='新闻'}">

23.${pur.pname}

24.

if>

25.

26.

iterator>

27.

28.

29.

30.

31.

32.公告

33.

34.

35.

iteratorvalue="purviewList"var="pur">

36.

37.

iftest="${pur.pmodule=='公告'}">

38.${pur.pname}

39.

if>

40.

41.

iterator>

42.

43.

44.

45.

46.

47.

48.

49.

50.

51.

52.

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

<%@pageisELIgnored="false"%>

<%@tagliburi="/struts-tags"prefix="s"%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

角色名



权限

新闻

iteratorvalue="purviewList"var="pur">

iftest="${pur.pmodule=='新闻'}">

${pur.pname}

if>

iterator>

公告

iteratorvalue="purviewList"var="pur">

iftest="${pur.pmodule=='公告'}">

${pur.pname}

if>

iterator>

2)添加角色action

[html]viewplaincopyprint?

1.publicStringinsertDo(){

2.//获得角色名称和权限值

3.intp[]=roler.getPurview();

4.//调用service层

5.rolerService=newInsertRolerService();

6.intflag=rolerService.insert(roler);

7.returnSUCCESS;

8.}

publicStringinsertDo(){

//获得角色名称和权限值

intp[]=roler.getPurview();

//调用service层

rolerService=newInsertRolerService();

intflag=rolerService.insert(roler);

returnSUCCESS;

}

3)添加角色service

[html]viewplaincopyprint?

1.publicintinsert(InsertRolerBeanroler){

2.

3.//开始连接数据库

4.dbcon=newDBConnection();

5.sta=dbcon.getSta();

6.//取出所有选中的权限值,生成最终的权限值

7.longsum=0;

8.for(inti=0;i

9.

10.sum+=Math.pow(2,roler.getPurview()[i]);//getPurview是事先声明好的get和set方法,此数组用来接收前台所选的权限,Math.pow此发放为权限算法

11.}

12.sql="insertintoroler(rid,rname)values("+sum+",'"+roler.getRname()+"')";

13.

14.try{

15.flag=sta.executeUpdate(sql);

16.

17.}catch(SQLExceptione){

18.//TODOAuto-generatedcatchblock

19.e.printStackTrace();

20.}

21.returnflag;

22.}

publicintinsert(InsertRolerBeanroler){

//开始连接数据库

dbcon=newDBConnection();

sta=dbcon.getSta();

//取出所有选中的权限值,生成最终的权限值

longsum=0;

for(inti=0;i

sum+=Math.pow(2,roler.getPurview()[i]);//getPurview是事先声明好的get和set方法,此数组用来接收前台所选的权限,Math.pow此发放为权限算法

}

sql="insertintoroler(rid,rname)values("+sum+",'"+roler.getRname()+"')";

try{

flag=sta.executeUpdate(sql);

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returnflag;

}

三:

根据用户查看此用户所具有的权限

1)查看用户所具有的权限页面

[html]viewplaincopyprint?

1.<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

2.<%@pageisELIgnored="false"%>

3.<%@tagliburi="/struts-tags"prefix="s"%>

4.

5.

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

6.

7.

8.

9.

10.

11.

12.

13.用户名:

14.

15.

16.

17.

18.

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>

<%@pageisELIgnored="false"%>

<%@tagliburi="/struts-tags"prefix="s"%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

用户名:

2)查询用户所具有的权限action

[html]viewplaincopyprint?

1.publicStringgetByName(){

2.Stringname=roler.getRname();

3.//System.out.println("name-------------->"+name);

4.purviewService=newRolerService();

5.roler=purviewService.getByRname(name);

6.longrid=roler.getRid();

7.System.out.println("rid------------->"+rid);

8.

9.

10.purviewList=purviewService.getAll();

11.

12.lis=purviewService.getRoler(purviewList,rid);

13.

14.

15.lis=purviewService.getQX(lis);

16.

17.return"success";

18.}

publicStringgetByName(){

Stringname=roler.getRname();

//System.out.println("name-------------->"+name);

purviewService=newRolerService();

roler=purviewService.getByRname(name);

longrid=roler.getRid();

System.out.println("rid------------->"+rid);

purviewList=purviewService.getAll();

lis=purviewService.getRoler(purviewList,rid);

lis=purviewService.getQX(lis);

return"success";

}

3)查询用户所具有的权限service

a).getByRname方法,用来根据所登用户的名称得到rid字段

[html]viewplaincopyprint?

1.publicInsertRolerBeangetByRname(Stringrname){

2.dbcon=newDBConnection();

3.sta=dbcon.getSta();

4.

5.sql="selectid,rid,rnamefromrolertwheret.rname='"+rname+"'";

6.

7.try{

8.rs=sta.executeQuery(sql);

9.while(rs.next()){

10.rb=newInsertRolerBean();

11.rb.setId(rs.getInt("id"));

12.rb.setRid(rs.getLong("rid"));

13.rb.setRname(rs.getString("rname"));

14.

15.

16.}

17.}catch(SQLExceptione){

18.//TODOAuto-generatedcatchblock

19.e.printStackTrace();

20.}

21.

22.returnrb;

23.

24.}

publicInsertRolerBeangetByRname(Stringrname){

dbcon=newDBConnection();

sta=dbcon.getSta();

sql="selectid,rid,rnamefromrolertwheret.rname='"+rname+"'";

try{

rs=sta.executeQuery(sql);

while(rs.next()){

rb=newInsertRolerBean();

rb.setId(rs.getInt("id"));

rb.setRid(rs.getLong("rid"));

rb.setRname(rs.getString("rname"));

}

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returnrb;

}

b).getAll()方法用来得到所有权限名称

[html]viewplaincopyprint?

1.publicListgetAll(){

2.purviewList=newArrayList();

3.//开始连接数据库

4.dbcon=newDBConnection();

5.sta=dbcon.getSta();

6.sql="selectpvalue,pname,pmodulefrompurview";

7.

8.try{

9.rs=sta.executeQuery(sql);

10.//循环打包

11.while(rs.next()){

12.RolerBeanpur=newRolerBean();

13.pur.setPvalue(rs.getInt("pvalue"));

14.pur.setPname(rs.getString("pname"));

15.pur.setPmodule(rs.getString("pmodule"));

16.purviewList.add(pur);

17.}

18.}catch(SQLExceptione){

19.//TODOAuto-generatedcatchblock

20.e.printStackTrace();

21.}finally{

22.dbcon.close();

23.

24.}

25.returnpurviewList;

26.}

publicListgetAll(){

purviewList=newArrayList();

//开始连接数据库

dbcon=newDBConnection();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1