WAS应用系列:WAS6 自定义用户注册接口代码 + 企业应用安全角色配置 + WAS安全配置 实现统一灵活的集成授权
2006-08-08 15:47
871 查看
第一部分(整体功效)
版本:V1.0
灵石,平凡的天才,wing-arrow软件工作室
2006 年 8 月 8 日
对于自定义的用户结构,实现自己的类似LDPA目录的信息,单点登陆,统一授权,本文以
实际例子对这个技术进行一个总的讲解。
用户体系数据存储结构:
表:[SUPERSYSADMIN] 存放超级管理员密码,只有一个字段,一行记录
表:[LOGINER] 存放登录帐号与密码(用户)
表:[GROUPS] 存放分组记录(组)
表:[USERSGROUPS] 存放用户与组的录属关系
表:[ADMIN][ INUSER][ OUTPERMUSER][ OUTNETUSER] 存放4个基本类型用户的扩展信息
表:[DANWEI] 存放固定用户的单位基本信息
用户体系构建:(自定义用户注册接口编写中实现以下逻辑)
==================================begin====================================
隐藏分组1:
SuperSysAdmin (超级管理员)
隐藏分组2:
Admin (管理员)
InUser (内部用户)
OutPermUser (外部固定用户)
OutNetUser (外部注册用户)
隐藏分组名称同时具有「LOGINER的关联表名」和「真实组的分类」的意义。
--------------------------------------------------
隐藏用户:(超级管理员)
登录名:supadmin (系统中固化,只能改变密码,不能更改登录名)
密码存放位置:数据表[SUPERSYSADMIN]
录属组:SuperSysAdmin
--------------------------------------------------
所有用户的隐藏录属组:
表[LOGINER]中的字段[LINKTABLE]的值 为隐藏分组2中的一个
本字段表示
1、该LOGINER的信息关联的表名
2、该LOGINER的隐藏组
3、只有该类型的真实组可以分配给该LOGINER
--------------------------------------------------
真实组的分类:
表[GROUPS]中的字段[GROUPTYPE]的值 为隐藏分组2中的一个
本字段用于对真实组进行分类,在与loginer同类的情况下(即表[LOGINER]的字段[LINKTABLE]与表[GROUPS]的字段[GROUPTYPE]相同时),可以建立「用户分组」关系
--------------------------------------------------
注意:
用户自定义增加组时,命名必须避开本文中提到的5个隐藏组名
===================================end=====================================
授权工作:
授权工作由①建立组、②建立组与应用安全角色对应、③建立用户与应用安全角色对应、④分配用户录属的组,4部分工作完成。
在应用中的安全配置:
安全配置在2个文件中进行:应用部署描述文件,企业部署描述文件:
配置分五步进行,①登录页配置,②安全区域配置(受管页面与操作),③安全角色配置,④安全角色与安全区域对应,⑤企业描述中抽取应用的安全角色。
由安全配置与授权操作完成多个系统统一的安全认证体系,具体步骤与实现代码在后续文章中描述
看看最后的实际环境数据与展现的授权效果:
表:[LOGINER] 的数据
表:[GROUPS] 的数据
表:[USERSGROUPS] 的数据
由 定制用户接口实现 + 以上数据 实现统一授权
图 1
从图1中可 看出:表[GROUPS]中没有记录的5个隐藏分组出现在组授权选择界面内。
图 2
从图2中可以看出:表[LOGINER]中没有的隐藏用户supadmin出现在用户授权选择界面内。
待续...
版本:V1.0
灵石,平凡的天才,wing-arrow软件工作室
2006 年 8 月 8 日
对于自定义的用户结构,实现自己的类似LDPA目录的信息,单点登陆,统一授权,本文以
实际例子对这个技术进行一个总的讲解。
用户体系数据存储结构:
表:[SUPERSYSADMIN] 存放超级管理员密码,只有一个字段,一行记录
表:[LOGINER] 存放登录帐号与密码(用户)
表:[GROUPS] 存放分组记录(组)
表:[USERSGROUPS] 存放用户与组的录属关系
表:[ADMIN][ INUSER][ OUTPERMUSER][ OUTNETUSER] 存放4个基本类型用户的扩展信息
表:[DANWEI] 存放固定用户的单位基本信息
用户体系构建:(自定义用户注册接口编写中实现以下逻辑)
==================================begin====================================
隐藏分组1:
SuperSysAdmin (超级管理员)
隐藏分组2:
Admin (管理员)
InUser (内部用户)
OutPermUser (外部固定用户)
OutNetUser (外部注册用户)
隐藏分组名称同时具有「LOGINER的关联表名」和「真实组的分类」的意义。
--------------------------------------------------
隐藏用户:(超级管理员)
登录名:supadmin (系统中固化,只能改变密码,不能更改登录名)
密码存放位置:数据表[SUPERSYSADMIN]
录属组:SuperSysAdmin
--------------------------------------------------
所有用户的隐藏录属组:
表[LOGINER]中的字段[LINKTABLE]的值 为隐藏分组2中的一个
本字段表示
1、该LOGINER的信息关联的表名
2、该LOGINER的隐藏组
3、只有该类型的真实组可以分配给该LOGINER
--------------------------------------------------
真实组的分类:
表[GROUPS]中的字段[GROUPTYPE]的值 为隐藏分组2中的一个
本字段用于对真实组进行分类,在与loginer同类的情况下(即表[LOGINER]的字段[LINKTABLE]与表[GROUPS]的字段[GROUPTYPE]相同时),可以建立「用户分组」关系
--------------------------------------------------
注意:
用户自定义增加组时,命名必须避开本文中提到的5个隐藏组名
===================================end=====================================
授权工作:
授权工作由①建立组、②建立组与应用安全角色对应、③建立用户与应用安全角色对应、④分配用户录属的组,4部分工作完成。
在应用中的安全配置:
安全配置在2个文件中进行:应用部署描述文件,企业部署描述文件:
配置分五步进行,①登录页配置,②安全区域配置(受管页面与操作),③安全角色配置,④安全角色与安全区域对应,⑤企业描述中抽取应用的安全角色。
由安全配置与授权操作完成多个系统统一的安全认证体系,具体步骤与实现代码在后续文章中描述
看看最后的实际环境数据与展现的授权效果:
表:[LOGINER] 的数据
LOGIN | PASSWORD | PEOPNAME | LINKTABLE |
dave | dave1 | pn1 | Admin |
news1 | 111 | pn2 | InUser |
opu1 | 111 | pn3 | OutPermUser |
onu1 | 111 | pn5 | OutNetUser |
GROUPKEY | DESCRIPS | GROUPTYPE |
BzwxOutPermUser | 标准文献外部固定用户 | OutPermUser |
BookOutPermUser | 图书外部固定用户 | OutPermUser |
BzwxAdmin | 标准文献管理员 | Admin |
BookAdmin | 图书管理员 | Admin |
NewsAdmin | 新闻发布管理员 | Admin |
ID | LOGIN | GROUPKEY |
1 | dave | NewsAdmin |
2 | dave | BzwxAdmin |
3 | dave | BookAdmin |
5 | opu1 | BzwxOutPermUser |
6 | opu1 | BookOutPermUser |
图 1
从图1中可 看出:表[GROUPS]中没有记录的5个隐藏分组出现在组授权选择界面内。
图 2
从图2中可以看出:表[LOGINER]中没有的隐藏用户supadmin出现在用户授权选择界面内。
待续...
相关文章推荐
- eShop电子商城的SSH实现的用户模块(1)登录和注册配置文件和页面关键代码(V...
- Redis总结(五)缓存雪崩和缓存穿透等问题 Web API系列(三)统一异常处理 C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步) C#总结(二)事件Event 介绍总结 C#总结(三)DataGridView增加全选列 Web API系列(二)接口安全和参数校验 RabbitMQ学习系列(六): RabbitMQ 高可用集群
- 关于“解决实现注册用户后,自动具备访问网站的权限的问题”文章中配置出现找不到角色的问题的解决办法
- ASP.NET Core中实现用户登录验证的最低配置示例代码
- ASP.NET 例程完全代码版(7)——2.0中实现自配置的成员角色管理库
- 黑马程序员——java第十一、十二天:多线程(创建线程1-2、多线程同步代码、实现Runnable接口、安全死锁)
- 谈谈移动互联网应用的用户注册登录安全考虑之不可逆加密的应用原则
- Windows Server 2008 R2 多用户实现远程连接登录 远程桌面服务配置和授权激活
- 使用gradle的自定义Property实现Android项目的配置和依赖统一管理
- DotNetNuke系列(一): 如何在DNN中添加自定义的用户注册页面
- 一步一步SharePoint 2007之十九:解决实现注册用户后,自动具备访问网站的权限的问题(1)——配置Provider
- 一步一步SharePoint 2007之二十:解决实现注册用户后,自动具备访问网站的权限的问题(2)——配置Role
- PL/SQL基础编程之(十)[SQL、EM创建用户、角色][授权、配置文件、限制登录次数锁定用户]
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(21)-用户角色权限基本的实现说明
- 使用jsp,tomcat实现用户登录注册留言的代码
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 增强服务安全、阻止非授权的用户非法调用
- Owin+ASP.NET Identity浅析系列(四)实现用户角色
- 如何安全的存储用户密码?(下)代码实现pbkdf2算法加密
- 框架 day54 BOS项目练习(权限/角色/用户管理(CRUD),基于数据库实现动态授权,ehcache缓存权限,shiro标签,菜单权限展示)