春天的故事-Spring Security3十五日研究(二)

2014-11-24 00:57:38 · 作者: · 浏览: 1
, 1, 系统管理员, AAAHmhAALAAAAAPAAA);

insert into users (USERNAME, PASSWORD, ENABLED, USERNAMECN, ROWID)
values (user, 47a733d60998c719cf3526ae7d106d13, 1, 普通用户, AAAHmhAALAAAAAPAAB);
再插入角色:


insert into authorities (USERNAME, AUTHORITY, ROWID)
values (admin, ROLE_PLATFORMADMIN, AAAHmjAALAAAAAgAAA);

insert into authorities (USERNAME, AUTHORITY, ROWID)
values (admin, ROLE_SYSADMIN, AAAHmjAALAAAAAgAAB);

insert into authorities (USERNAME, AUTHORITY, ROWID)
values (lxb, ROLE_LOGIN, AAAHmjAALAAAAAeAAA);

insert into authorities (USERNAME, AUTHORITY, ROWID)
values (lxb, ROLE_LOGINTOWELCOME, AAAHmjAALAAAAAeAAB);

insert into authorities (USERNAME, AUTHORITY, ROWID)
values (user, ROLE_USER, AAAHmjAALAAAAAgAAC);

第二种方法之密码加密

可能要有人要问,用户表里面的密码是如何取得的呢?这个密码是通过MD5进行加密过的,并且以用户名做为了盐值,最后就成为32位数字这个样子,这个你可以参见下面applicationContext-Security.xml中的password-encoder和salt-source的配置就会明白。
那么在spring security3中是如何加密的呢?当我们设置了pawwrod-encoder和salt-source之后,Spring Security3会根据配置,采用相匹配的加密算法(比如设置了MD5加密算法)再加上salt-source进行加密,形成32位数字的密文。
比如用户名为yew,密码为yew1234,盐值为用户名yew。那么最后加密的明文为“yew1234{yew}”,密文就为“8fe2657d1599dba8e78a7a0bda8651bb”。

我们在试验过程中,通常喜欢先将几个常用的用户及密码插入数据库进行试验,这种情况下如何得到该用户的密码密文呢?
不妨试试我这个办法,假设,用户名为user,密码明文为user369,而且在配置文件里面设置了以MD5作为加密算法,并以用户名做为盐值。
那么你可以首先将各个信息组合成待加密的密码明文, 应是 密码明文 + { + 盐值 + }, 那么很明显,上述user的密码明文应当是:

user369{user}

拿上述的字串拷贝到 http://www.51240.com/md5jiami/ 网页上的输入框里,点击加密按钮,下面即可生成32位数字的密码密文。

哈哈,屡试不爽啊。这个方法要谨慎使用,一般人我不告诉他。


第二种方法之相关配置

将权限及资源(URL或Action)的关系配置在xml文件中,并且配置与Spring Security3相关的其他配置:

1、applicationContext-Security.xml代码:

<script type=" text="" avascript"="">

<script type="text/java script">BAIDU_CLB_fillSlot("771048");
点击复制链接 与好友分享! 回本站首页
<script> function copyToClipBoard(){ var clipBoardContent=document.title + '\r\n' + document.location; clipBoardContent+='\r\n'; window.clipboardData.setData("Text",clipBoardContent); alert("恭喜您!复制成功"); }
分享到: 更多
<script type="text/java script" id="bdshare_js" data="type=tools&uid=12732"> <script type="text/java script" id="bdshell_js"> <script type="text/java script"> var bds_config = {'snsKey':{'tsina':'2386826374','tqq':'5e544a8fdea646c5a5f3967871346eb8'}}; document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js cdnversion=" + Math.ceil(new Date()/3600000)