做权限管理的时候,对某个用户的权限进行检索

--用户继承树

CREATE function getUserTree(@UserName sysname, --用户名
   @Seq bit   --查找方式:0查找子孙 1.查找祖先
   )
   returns @Result table(UserID sysname,UserName sysname,Level int)
   as
   begin
   declare @UserId sysname
   set @userId=user_id(@userName)
   if @userid is null
   begin
   --raiserror('指定的用户名不存在',16,1)
   return
   end
   DECLARE @level int, @line char(20)
   declare @stack table(item sysname, level int)
   INSERT INTO @stack VALUES (@UserID, 1)
   SELECT @level = 1
   WHILE @level > 0
   BEGIN
   IF EXISTS (SELECT * FROM @stack WHERE level = @level)
   BEGIN
   SELECT @userId = item
   FROM @stack
   WHERE level = @level
   insert into @Result values(@UserId,User_name(@userID),@level)
   DELETE FROM @stack
   WHERE level = @level
   AND item = @userId
   if @Seq=1 --查找祖先
   INSERT @stack
   SELECT groupuid, @level + 1
   FROM sysmembers
   WHERE memberuid = @userId
   else --查找子孙
   INSERT @stack
   SELECT memberuid, @level + 1
   FROM sysmembers
   WHERE groupuid = @userId
   IF @@ROWCOUNT > 0
   SELECT @level = @level + 1
   END
   ELSE
   SELECT @level = @level - 1
   END -- WHILE
   return
   end

时间: 2025-01-30 03:51:49

做权限管理的时候,对某个用户的权限进行检索的相关文章

详解Android权限管理之Android 6.0运行时权限及解决办法_Android

前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以上设备越来越多了,所以Android 6.0 权限适配是必不可少的工作,这里主要介绍一下我们公司是如何做Android 6.0权限适配的. Android 6.0以下非运行时权限: 根据上面博客我们很清楚的知道,Android的权限其实就是为了程序之间更加的安全的访问,所以权限有等级之分,比如:No

详解Android权限管理之Android 6.0运行时权限及解决办法

前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以上设备越来越多了,所以Android 6.0 权限适配是必不可少的工作,这里主要介绍一下我们公司是如何做Android 6.0权限适配的. Android 6.0以下非运行时权限: 根据上面博客我们很清楚的知道,Android的权限其实就是为了程序之间更加的安全的访问,所以权限有等级之分,比如:No

权限管理最佳实践:二,URL权限控制

问题描述 原文地址:http://www.javaeye.com/topic/754014摘要:今天说的URL权限控制,内容主要有:URL权限控制,当用户访问某URL时,进行角色权限验证.如果有相应权限,则允许其正常访问:否则,转到拒绝页面.我们依然通过一个Filter来实现,这样就无需在代码中增加权限判断,也无需套用任何框架.对于整个权限管理系统来说,本节内容也非常简单. 解决方案 解决方案二:每个用户访问一个连接都去判断会不会影响性能解决方案三:权限不应该按照URL来划分,而应该按照功能来划

Laravel5做权限管理

关于权限管理的思考 最近用laravel设计后台,后台需要有个权限管理.权限管理实质上分为两个部分,首先是认证,然后是权限.认证部分非常好做,就是管理员登录,记录session.这个laravel中也有自带Auth来实现这个.最麻烦就是权限认证. 权限认证本质上就是谁有权限管理什么东西.这里有两个方面的维度,谁,就是用户维度,在用户维度,权限管理的粒度可以是用户一个人,也可以是将用户分组,如果将用户分组,则涉及到的逻辑是一个用户可以在多个组里面吗?在另外一方面,管理什么东西,这个东西是物的维度,

MongoDB用户权限管理讲解

Mongodb在2.4最新版本中对用户权限管理做了全新的调整,把权限细化了,增强了安全性,越来越像mysql的权限管理了. 一.2.4之前的版本用户管理 1.创建某个数据库的管理用户 1.1.进入weiw数据库: >use weiw; 1.2.添加用户(读写权限,readOnly-->false): >db.addUser("java","java");默认是拥有weiw数据库所有权限 >db.addUser("java1"

Linux_用户权限管理

目录 目录 用户管理 useradd创建用户 userdel删除用户 usermod修改用户账号 passwd修改用户密码 用户权限设置 用户组管理 查看用户的属组 修改用户组gpasswd 为没有家目录的用户建立家目录 生产环境中隐藏root用户 umask控制文件或目录创建时的初始权限 Linux的系统权限 ACL 用户管理 Linux和Windows用户不能单独存在,必须属于一个或多个组. 用户信息存储位置: 1. Windows userInfo :c:\windows\system32

Oracle 用户权限管理方法_oracle

sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二.登陆 sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott sqlplus / as sys

oracle用户权限管理使用详解_oracle

一.系统的默认用户 1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是sys.登录语句:SQL> conn sys/sys as sysdba; 2)system用户是管理操作员,权限也很大.具有sysoper角色,没有create database的权限,默认的密码是manager.登录语句:SQL> conn system/manager; 3)sys和system这两个用户最大的区别是在于有没有create datab

通用权限管理工具,支所有ADO(包括ODBC)支持的数据库,不管用什么编程都行,VC/BCB/VB/PB/Delphi

ado|odbc|编程|数据|数据库 下面是一部分说明: 请细请到这里下载ExeDemo测试版通用权限管理工具的创作动机权限管理是MIS软件中很重要的一环.很多国内较出名的MIS软件厂商都设计了较完善的也具有自己特色的权限管理模块.但对于很多没那么规范的软件商(包括个人或小创作团体),他们经常是接到一单,设计一套权限管理系统,每套都不同:有的则不够重视,随便写上一段,哪里都拷过去用:有的也曾费尽心机,但结果总不能令自己满意.其实仔细想一下,每套软件的权限虽然各不相同,但其实所需实现的功能是相同的

Laravel5权限管理方法详解_php实例

本文实例讲述了Laravel5权限管理的实现方法.分享给大家供大家参考,具体如下: 关于权限管理的思考 最近用laravel设计后台,后台需要有个权限管理.权限管理实质上分为两个部分,首先是认证,然后是权限.认证部分非常好做,就是管理员登录,记录session.这个laravel中也有自带Auth来实现这个.最麻烦就是权限认证. 权限认证本质上就是谁有权限管理什么东西.这里有两个方面的维度,谁,就是用户维度,在用户维度,权限管理的粒度可以是用户一个人,也可以是将用户分组,如果将用户分组,则涉及到