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/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("恭喜您!复制成功"); }