📄 spring框架下实现基于组的用户权限管理.mht
字号:
From: =?gb2312?B?08kgV2luZG93cyBJbnRlcm5ldCBFeHBsb3JlciA3ILGjtOY=?=
Subject: =?gb2312?B?U3ByaW5nv/K83M/CyrXP1rv509rX6bXE08O7p8ioz9653MDtLb+q?=
=?gb2312?B?t6LGtbXALVNwcmluZy3M7Lyrzfg=?=
Date: Sat, 15 Nov 2008 12:31:41 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----=_NextPart_000_0000_01C9471E.1CAEAB90"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049
这是 MIME 格式的多方邮件。
------=_NextPart_000_0000_01C9471E.1CAEAB90
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://dev.yesky.com/166/2705166.shtml
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Dzh-CN =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>Spring=BF=F2=BC=DC=CF=
=C2=CA=B5=CF=D6=BB=F9=D3=DA=D7=E9=B5=C4=D3=C3=BB=A7=C8=A8=CF=DE=B9=DC=C0=ED=
-=BF=AA=B7=A2=C6=B5=B5=C0-Spring-=CC=EC=BC=AB=CD=F8</TITLE>
<META=20
content=3D"Spring=BF=F2=BC=DC=CF=C2=CA=B5=CF=D6=BB=F9=D3=DA=D7=E9=B5=C4=D3=
=C3=BB=A7=C8=A8=CF=DE=B9=DC=C0=ED,=BF=AA=B7=A2=D5=DF=CD=F8=C2=E7=C3=E9=D7=
=BC=D6=D0=B9=FA=B3=CC=D0=F2=D4=B1=C8=BA=CC=E5=A3=AC=BA=AD=B8=C7=C8=ED=BC=FE=
=BF=AA=B7=A2=B5=C4=B8=F7=B8=F6=BC=BC=CA=F5=B2=E3=C3=E6=A3=AC=B4=D3Windows=
=CF=C2=B5=C4=D3=A6=D3=C3=B3=CC=D0=F2=BF=AA=B7=A2=A3=AC=B5=BDJava=A1=A2Web=
=BF=AA=B7=A2=A1=A2=D3=CE=CF=B7=BF=AA=B7=A2=BA=CD=D2=C6=B6=AF=BF=AA=B7=A2=C1=
=EC=D3=F2=A3=AC=BE=F9=D3=D0=CF=E0=B9=D8=BD=CC=B3=CC=BA=CD=CA=B5=C0=FD=A1=A2=
=BC=BC=C7=C9=A1=A3 "=20
name=3Ddescription>
<META=20
content=3D"Spring=BF=F2=BC=DC=CF=C2=CA=B5=CF=D6=BB=F9=D3=DA=D7=E9=B5=C4=D3=
=C3=BB=A7=C8=A8=CF=DE=B9=DC=C0=ED,Java,.NET,WEB=BF=AA=B7=A2,C#,C++,PHP,OR=
ACLE,DB2,MySQL,SQL =
Server,Sybase,=D2=C6=B6=AF=BF=AA=B7=A2,=BF=AA=D4=B4=BC=BC=CA=F5,=C8=ED=BC=
=FE=B2=E2=CA=D4,SOA,=D0=C5=CF=A2=BB=AF,=C8=ED=BC=FE=B9=A4=B3=CC,=B3=CC=D0=
=F2=D4=B1,=CE=A2=C8=ED,=D1=C5=BB=A2,IBM,=CA=FD=BE=DD=BF=E2,Html,=D0=C2=CE=
=C5,=BC=BC=C7=C9,Rational,"=20
name=3Dkeywords>
<META content=3D"=CC=EC=BC=AB=CD=F8 | =
=C8=AB=C7=F2=D6=D0=CE=C4IT=B5=DA=D2=BB=C3=C5=BB=A7" name=3Dauthor>
<META content=3D"=CC=EC=BC=AB=CD=F8 | =
=C8=AB=C7=F2=D6=D0=CE=C4IT=B5=DA=D2=BB=C3=C5=BB=A7" name=3DCopyright>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META http-equiv=3DContent-Language content=3Dzh-CN>
<META http-equiv=3DX-UA-Compatible content=3DIE=3D7><LINK media=3Dall=20
href=3D"http://image.yesky.com/TLimages/css/y_mobile_content.css" =
type=3Dtext/css=20
rel=3Dstylesheet>
<SCRIPT =
src=3D"http://image.yesky.com/TLimages/newmobile/showlay.js"></SCRIPT>
<META content=3D"MSHTML 6.00.6001.18148" name=3DGENERATOR></HEAD>
<BODY><!--=D2=B3=C3=E6=CD=B7=B2=BF--><!--=CD=B7=B2=BF-->
<DIV>
<SCRIPT=20
src=3D"http://media.yesky.com/adjs/column/kingsoft-kuanban-071105.js"></S=
CRIPT>
</DIV>
<DIV id=3Dtopmenu><A =
href=3D"http://www.yesky.com/">Yesky=CA=D7=D2=B3</A>| <A=20
href=3D"http://product.yesky.com/">=B2=FA=C6=B7=B1=A8=BC=DB</A>| <A=20
href=3D"http://cseek.yesky.com/">=D0=D0=C7=E9</A>| <A =
href=3D"http://mobile.yesky.com/">=CA=D6=BB=FA</A>=20
| <A href=3D"http://digital.yesky.com/">=CA=FD=C2=EB</A> | <A=20
href=3D"http://notebook.yesky.com/">=B1=CA=BC=C7=B1=BE</A> | <A=20
href=3D"http://pc.yesky.com/">=CC=A8=CA=BD=BB=FA</A> | <A =
href=3D"http://diy.yesky.com/">DIY=D3=B2=BC=FE</A>=20
| <A href=3D"http://oa.yesky.com/">=CD=E2=C9=E8</A> | <A =
href=3D"http://net.yesky.com/">=CD=F8=C2=E7</A>=20
| <A href=3D"http://dh.yesky.com/">=CA=FD=D7=D6=BC=D2=CD=A5</A> | <A=20
href=3D"http://lab.yesky.com/">=C6=C0=B2=E2</A> | <A =
href=3D"http://soft.yesky.com/">=C8=ED=BC=FE</A> |=20
<A href=3D"http://fashion.yesky.com/">e=CA=B1=B4=FA</A> | <A=20
href=3D"http://game.yesky.com/">=D3=CE=CF=B7</A> | <A =
href=3D"http://pic.yesky.com/">=CD=BC=C6=AC</A> |=20
<A href=3D"http://desktop.yesky.com/">=B1=DA=D6=BD</A> | <A=20
href=3D"http://q.yesky.com/">=C8=BA=C0=D6</A> | <A =
href=3D"http://my.yesky.com/">=C9=E7=C7=F8</A> | <A=20
href=3D"http://blog.yesky.com/">=B2=A9=BF=CD</A> | <A=20
href=3D"http://www.mydown.com/">=CF=C2=D4=D8</A></DIV>
<DIV id=3Dtopbox>
<DIV class=3Dtleft><A id=3Dpagelogo href=3D"http://www.yesky.com/"><IMG=20
alt=3D=CC=EC=BC=ABYesky_=C8=AB=C7=F2=D6=D0=CE=C4IT=B5=DA=D2=BB=C3=C5=BB=A7=
src=3D"http://image.yesky.com/TLimages/img/head/logo.gif"=20
border=3D0></A></DIV>
<DIV class=3Dtad><SPAN id=3Dad1></SPAN></DIV>
<DIV id=3Dsearch>
<DIV>
<FORM name=3Dsearchform action=3Dhttp://search.chinabyte.com/search =
method=3Dget=20
target=3D_blank><INPUT id=3Dsearchzz onmouseover=3Dthis.focus() =
onfocus=3Dthis.select()=20
name=3Dq><INPUT type=3Dhidden value=3DGB2312 name=3Dencoding><INPUT =
type=3Dhidden=20
value=3Dconnect name=3Ddir><INPUT type=3Dhidden value=3D20002 =
name=3Dcid><INPUT id=3Dsearch_btn type=3Dsubmit =
value=3D=CC=EC=BC=AB=CB=D1=CB=F7> </FORM></DIV>
<DIV class=3Dtdq>
<DIV class=3Drightarea><A href=3D"http://bj.yesky.com/">=B1=B1=BE=A9</A> =
<A=20
href=3D"http://hd.yesky.com/">=C9=CF=BA=A3</A> <A =
href=3D"http://gd.yesky.com/">=B9=E3=D6=DD</A> <A=20
href=3D"http://sz.yesky.com/">=C9=EE=DB=DA</A><BR><A =
href=3D"http://nj.it365.com/">=C4=CF=BE=A9</A> <A=20
href=3D"http://ty.it365.com/">=CC=AB=D4=AD</A> <A =
href=3D"http://sy.it365.com/">=C9=F2=D1=F4</A> <A=20
href=3D"http://xa.it365.com/">=CE=F7=B0=B2</A> </DIV>
<DIV class=3Drightarea_right><A=20
href=3D"http://my.yesky.com/">=D3=C3=BB=A7<BR>=B5=C7=C2=BC</A></DIV></DIV=
></DIV>
<DIV class=3Dtright>
<DIV class=3Dbox1>
<SCRIPT src=3D"http://www.yesky.com/TLimages/include/content_text_ad.js" =
type=3Dtext/javascript></SCRIPT>
</DIV></DIV></DIV>
<SCRIPT src=3D"http://image.yesky.com/TLimages/include/flash.js"=20
type=3Dtext/javascript></SCRIPT>
<DIV id=3Dchildmenu twffan=3D"done"><A href=3D"http://soft.yesky.com/"=20
target=3D_self>=C8=ED=BC=FE=C6=B5=B5=C0></A><A =
href=3D"http://dev.yesky.com/"=20
target=3D_self>=B3=CC=D0=F2=BF=AA=B7=A2></A><A =
href=3D"http://dev.yesky.com/devjava/"=20
target=3D_self>Java</A><A href=3D"http://dev.yesky.com/ysdevvb"=20
target=3D_self>VB</A><A href=3D"http://dev.yesky.com/ysdevvc" =
target=3D_self>VC</A><A=20
href=3D"http://dev.yesky.com/ysdevdelphi" target=3D_self>Delphi</A><A=20
href=3D"http://dev.yesky.com/ysdevc" target=3D_self>C/C++</A><A=20
href=3D"http://dev.yesky.com/web/" target=3D_self>Web=BF=AA=B7=A2</A><A=20
href=3D"http://dev.yesky.com/msdn/" =
target=3D_self>=CE=A2=C8=ED=D7=A8=C0=B8</A><A=20
href=3D"http://dev.yesky.com/devydkf/" target=3D_self>=D2=C6=B6=AF</A><A =
href=3D"http://dev.yesky.com/devsjk/" =
target=3D_self>=CA=FD=BE=DD=BF=E2</A><A=20
href=3D"http://dev.yesky.com/ysdevcxrs" =
target=3D_self>=B3=CC=D0=F2=C8=CB=C9=FA</A><A=20
href=3D"http://dev.yesky.com/ysdevrjgc" =
target=3D_self>=C8=ED=BC=FE=B9=A4=B3=CC</A>|<A=20
href=3D"http://www.ibm.com/developerworks/cn/rational/08/0429_ackerman/in=
dex.html?S_TACT=3D105AGX52&S_CMP=3Dtec-yesky"=20
target=3D_self> =CA=B9=D3=C3 IBM =
Rational</A></DIV><!--=B5=BC=BA=BD=CC=F5-->
<DIV id=3Dlocation>
<DIV class=3Dloleft>=C4=FA=CF=D6=D4=DA=B5=C4=CE=BB=D6=C3=A3=BA<SPAN =
id=3Dlo_links> <A href=3D"http://www.yesky.com/"=20
target=3D_self>=CC=EC=BC=AB=CD=F8</A> > <A =
href=3D"http://dev.yesky.com/" =
target=3D_self>=BF=AA=B7=A2=C6=B5=B5=C0</A>=20
</SPAN>> =
Spring=BF=F2=BC=DC=CF=C2=CA=B5=CF=D6=BB=F9=D3=DA=D7=E9=B5=C4=D3=C3=BB=A7=C8=
=A8=CF=DE=B9=DC=C0=ED</DIV>
<DIV class=3Dadright><SPAN =
id=3Dad2></SPAN></DIV></DIV><!--=C4=DA=C8=DD=BF=E9=BF=AA=CA=BC-->
<DIV id=3Dconbox><!--=D7=F3=B1=DF=BF=AA=CA=BC-->
<DIV id=3Dconleft>
<DIV id=3Dcontopla1>
<DIV id=3D__001>
<DIV class=3Dqkong></DIV>
<DIV class=3Dqw1>=C8=AB=CE=C4</DIV>
<DIV class=3Dzkong>
<DIV class=3Dkl></DIV>
<DIV class=3Dbj><A href=3D"http://dev.yesky.com/166/2705166.shtml#pls"=20
target=3D_self>=C6=C0=C2=DB</A></DIV>
<DIV class=3Dkr></DIV>
<SCRIPT type=3Dtext/javascript>
var titiepic =3D"http://pic.yesky.com/syscore/85/414085d.shtml";
if (titiepic!=3D"#")
{
document.write("<div class=3D\"kl\"></div><div class=3D\"bj\"><a =
href=3D\"http://pic.yesky.com/syscore/85/414085d.shtml\" =
target=3D\"_blank\">=CD=BC=C6=AC</a></div><div class=3D\"kr\"></div>");
}
</SCRIPT>
</DIV></DIV></DIV>
<DIV class=3Dtopadbg style=3D"PADDING-BOTTOM: 10px"><SPAN =
id=3Dad10></SPAN></DIV><A=20
name=3Dtop></A>
<DIV id=3Dcontitle>
<H1 =
id=3DartibodyTitle>Spring=BF=F2=BC=DC=CF=C2=CA=B5=CF=D6=BB=F9=D3=DA=D7=E9=
=B5=C4=D3=C3=BB=A7=C8=A8=CF=DE=B9=DC=C0=ED</H1></DIV>
<DIV id=3Dconauthor><SPAN>2006-12-07 13:34 =
</SPAN><SPAN>=D7=F7=D5=DF=A3=BA </SPAN><SPAN>=B3=F6=B4=A6=A3=BA csdn=20
</SPAN><SPAN>=D4=F0=C8=CE=B1=E0=BC=AD=A3=BA>=B7=BD=D6=DB</SPAN></DIV>
<DIV class=3Dtopadbg><SPAN id=3Dad9></SPAN></DIV>
<DIV id=3Dconneirong><SPAN id=3Dad3></SPAN>
<DIV id=3Dartibody><!-- Error -->
<DIV class=3Dclear></DIV>
<DIV class=3Dguanggao><SPAN =
id=3DcontentAdv></SPAN></DIV>=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1<A=20
href=3D"http://dev.yesky.com/javaopen/" target=3D_blank><IMG=20
style=3D"BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; =
BORDER-TOP-COLOR: #000000; BORDER-RIGHT-COLOR: #000000"=20
src=3D"http://dev.yesky.com/imagelist/06/49/758y95q79raz.gif"=20
border=3D1></A><BR>=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1<FONT =
color=3D#f73809>=CD=C6=BC=F6=A3=BA</FONT><A=20
href=3D"http://dev.yesky.com/javaopen/" target=3D_blank><FONT=20
color=3D#f73809>Java=BF=AA=D4=B4=BC=DC=B9=B9</FONT></A><BR><BR>=A1=A1=A1=A1=
=D4=DA=BC=B8=BA=F5=CB=F9=D3=D0=B5=C4web=D3=A6=D3=C3=D6=D0=B6=BC=D0=E8=D2=AA=
=B6=D4=B7=C3=CE=CA=D5=DF(=D3=C3=BB=A7)=BD=F8=D0=D0=C8=A8=CF=DE=B9=DC=C0=ED=
,=20
=D2=F2=CE=AA=CE=D2=C3=C7=CF=A3=CD=FB=C4=B3=D0=A9=D2=B3=C3=E6=D6=BB=B6=D4=CC=
=D8=B6=A8=B5=C4=D3=C3=BB=A7=BF=AA=B7=C5, =
=D2=D4=BC=B0=C4=B3=D0=A9=B2=D9=D7=F7=D6=BB=D3=D0=B7=FB=BA=CF=C9=ED=B7=DD=B5=
=C4=D3=C3=BB=A7=B2=C5=C4=DC=BD=F8=D0=D0=A1=A3=D5=E2=D6=AE=D6=D0=C9=E6=BC=B0=
=B5=BD=C1=CB=C9=ED=B7=DD=D1=E9=D6=A4=BA=CD=C8=A8=CF=DE=B9=DC=C0=ED.=20
=D6=BB=D3=D0=B5=A5=D3=C3=BB=A7=CF=B5=CD=B3=BA=CD=B6=E0=D3=C3=BB=A7=B5=A5=C8=
=A8=CF=DE=CF=B5=CD=B3=B2=C5=B2=BB=D0=E8=D2=AA=C8=A8=CF=DE=B9=DC=C0=ED=A1=A3=
<BR><BR>=A1=A1=A1=A1=D4=DA=B1=BE=CE=C4=D6=D0, =
=CA=B9=D3=C3=C1=CB=BB=F9=D3=DA=D7=E9=B5=C4=C8=A8=CF=DE=B9=DC=C0=ED,=20
=B2=A2=D4=DASpring=BF=F2=BC=DC=CF=C2=C0=FB=D3=C3HandlerInterceptorAdapter=
=BA=CDHibernate=BD=F8=D0=D0=CA=B5=CF=D6=A1=A3<BR><BR>=A1=A1=A1=A1User=B5=C4=
=BD=E1=B9=B9=CA=C7:=20
<BR><BR>
<TABLE borderColor=3D#cccccc width=3D"90%" align=3Dcenter =
bgColor=3D#e7e9e9 border=3D1>
<TBODY>
<TR>
<TD>public class User {<BR>=A1=A1private int id;<BR>=A1=A1private =
String=20
name;<BR>=A1=A1private String password;<BR>=A1=A1private =
Set=A3=BCString=A3=BE groups =3D new=20
=
HashSet=A3=BCString=A3=BE();<BR>}</TD></TR></TBODY></TABLE><BR>=A1=A1=A1=A1=
UserGroup=B1=ED:=20
<BR><BR>=A1=A1=A1=A1user:intgroup:String=CA=B9=D3=C3=C1=AA=BA=CF=D6=F7=BC=
=FC, =
=D4=DAJava=D6=D0=C3=BB=D3=D0=B6=D4=D3=A6=B5=C4=C0=E0=A1=A3<BR><BR>=A1=A1=A1=
=A1Hibernate=D3=B3=C9=E4=CE=C4=BC=FE=CA=C7:=20
<BR><BR>
<TABLE borderColor=3D#cccccc width=3D"90%" align=3Dcenter =
bgColor=3D#e7e9e9 border=3D1>
<TBODY>
<TR>
<TD>=A3=BChibernate-mapping auto-import=3D"true" =
default-lazy=3D"false"=A3=BE<BR>=A1=A1=A3=BCclass=20
name=3D"net.ideawu.User" table=3D"User"=A3=BE<BR>=A1=A1=A3=BCcache =
usage=3D"read-write"=20
/=A3=BE<BR>=A1=A1=A3=BCid name=3D"id" =
column=3D"id"=A3=BE<BR>=A1=A1=A1=A1=A3=BCgenerator=20
=
class=3D"native"/=A3=BE<BR>=A1=A1=A3=BC/id=A3=BE<BR>=A1=A1=A3=BCproperty =
name=3D"name"=20
column=3D"name"/=A3=BE<BR>=A1=A1=A3=BCproperty name=3D"password" =
column=3D"password"/=A3=BE=20
<BR>=A1=A1=A3=BCset name=3D"groups" table=3D"UserGroup" =
cascade=3D"save-update"=20
lazy=3D"false"=A3=BE <BR>=A1=A1=A1=A1=A3=BCkey column=3D"user" =
/=A3=BE<BR>=A1=A1=A1=A1=A3=BCelement column=3D"`group`"=20
type=3D"string"=20
=
/=A3=BE<BR>=A1=A1=A3=BC/set=A3=BE<BR>=A1=A1=A3=BC/class=A3=BE<BR>=A3=BC/h=
ibernate-mapping=A3=BE</TD></TR></TBODY></TABLE><BR>=A1=A1=A1=A1=D2=BB=C7=
=D0=B5=C4=C9=ED=B7=DD=D1=E9=D6=A4=BD=BB=B8=F8=D2=BB=B8=F6=BC=CC=B3=D0Hand=
lerInterceptorAdapter=B5=C4=C0=E0=C0=B4=D7=F6:=20
<BR><BR>
<TABLE borderColor=3D#cccccc width=3D"90%" align=3Dcenter =
bgColor=3D#e7e9e9 border=3D1>
<TBODY>
<TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -