C#怎样通过输入系统管理员的密码提高权限

varvarbbs 2009-01-14 11:52:40
最近想写一个控制本地连接的小程序,给User组的用户使用,使用的时候需要管理员输入帐号密码然后启用/停用本地连接

不知道怎样将这个C#小程序怎样提升权限,启用/停用本地连接
...全文
276 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
barry_bai 2009-01-14
  • 打赏
  • 举报
回复
做成windows service,以有权限的账号运行,再用别的程序调用。
yqlx521 2009-01-14
  • 打赏
  • 举报
回复
祝你早日完成
wangping_li 2009-01-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gomoku 的回复:]
1. LogonUser() API 用管理员帐号密码登陆
2. DuplicateToken() API
3. WindowsIdentity id= new WindowsIdentity( duplicated handle );
4. WindowsImpersonationContext impersonated = id.Impersonate(); 把当前线程的用户转到管理员帐号下

5. 在这里调用需要管理员权限的代码...

6. impersonated.Undo(); 把当前线程交回给以前的用户
7. CloseHandle() API, duplicatedhandle
8. CloseHandle API, userhan…
[/Quote]
同意.gomoku就是厉害,关注你很久了
gomoku 2009-01-14
  • 打赏
  • 举报
回复 1
1. LogonUser() API 用管理员帐号密码登陆
2. DuplicateToken() API
3. WindowsIdentity id= new WindowsIdentity( duplicated handle );
4. WindowsImpersonationContext impersonated = id.Impersonate(); 把当前线程的用户转到管理员帐号下

5. 在这里调用需要管理员权限的代码...

6. impersonated.Undo(); 把当前线程交回给以前的用户
7. CloseHandle() API, duplicatedhandle
8. CloseHandle API, userhandle
varvarbbs 2009-01-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wangping_li 的回复:]
引用 4 楼 varvarbbs 的回复:
有办法把上面三个程序合并在一个程序里面吗?

分开写都可以并在一起为什么就不可以呢?操作的都是同个东西,只是不同按钮触发不同事件罢了
你的程序中就启用和停用都实现,根据帐号权号权限来判断启用、停用是否显示就行了
[/Quote]
现在的问题是通过输入系统管理员的帐号密码,如何把当前程序的权限提升至能控制本地连接
如果分开写的话,只需在通过 System.Diagnostics.Process.Start 方法,直接运行一个拥有管理员权限的程序
wangping_li 2009-01-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 varvarbbs 的回复:]
有办法把上面三个程序合并在一个程序里面吗?
[/Quote]
分开写都可以并在一起为什么就不可以呢?操作的都是同个东西,只是不同按钮触发不同事件罢了
你的程序中就启用和停用都实现,根据帐号权号权限来判断启用、停用是否显示就行了
varvarbbs 2009-01-14
  • 打赏
  • 举报
回复
有办法把上面三个程序合并在一个程序里面吗?
varvarbbs 2009-01-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 GTX280 的回复:]
参考
http://www.chenjiliang.com/article/View.aspx?ArticleID=2474
[/Quote]
这个我也看了,只需稍微修改一下就可以用
但是我是在普通用户里面用

看来我要写三个小程序,
第一个写启用本地连接
第二个写停用本地连接,
第三个输入管理员帐号密码然后调用第一或者第二个小程序
学生个人文件管理系统 v2.0 A.声明: 1.非源代码。 2.有些用户没有设置自己的数据库服务器就直接登录或者注册,这样是不会成的, 请选择自定义服务器,然后填入自己的IP,数据库用户名以及密码,因为默认服 务器的IP是192.168.0.252. 3.暂不支持拖拽功能(将文件拖进去就能上传) 4.每隔10分钟系统会锁定一次,以防止其他用户恶意操作数据,需解锁请输入自己 的登录密码。【暂不支持设置间隔时间或者设置是否采取锁定策略】 5.暂不支持修改上传后的文件的属性(类别等) 6.在Win7上运行时需要管理员权限,请以管理员方式运行本程序。 B.新版特性: 1.修正了大文件上传或下载时服务器超时的Bug. 可上传500M以内的单个文件.(在空间大小足够的前提下) 2.修正了客户端上传文件的时间与服务器时间不同步的Bug, 同时在充分考虑服务器性能的前提下,给客户端提供了正 确的时间。 3.新增数据库压缩功能,针对数据库日志文件动辄上G的问题 提供了解决方案,使客户端用户使用更流畅。(管理员功能) 4.(2011-03-14)纠正了数据创建时错误,适应SQLServer不同 版本的数据库;纠正了在SQLServer下不同版本数据库备份时路径 错误问题。 5.(2011-03-14)纠正了程序中密码验证不区分大小写的错误。 6.(2011-03-18) 纠正了系统锁定后无法解锁的错误 2011-03-18 23:20 南充市扎针高手 李泽波
餐饮管理系统使用说明书配置源程序附加数据库SQL Server 2000(1)将TM\\06\\MrCy\\MrCy\\DataBase文件夹中的扩展名为db_MrCy.mdfF和db_MrCy.ldf的两个文件拷贝到SQL Server安装路径下的Data文件夹中。(2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。(3)将弹出“附加数据库”对话框,在该对话框中单击【 】按钮,选择所要附加数据库的db_MrCy.mdf文件,单击【确定】按钮,即可完成数据库的附加操作。使用说明系统介绍本系统属于小型的餐饮管理系统,可以有效地对中小型餐厅消费进行管理,本系统应达到以下目标: 系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。 实现对餐厅顾客开台、点菜/加菜、账目查询和结账等操作。 对用户输入的数据,进行严格的数据检验,尽可能的避免人为错误。 实现对消费账目自动结算。 实现对消费的历史记录进行查询,支持模糊查询。 系统应最大限度地实现易维护性和易操作性。操作注意事项(1)本系统管理员用户名为:Tsoft,密码为:111。(2)实例执行文件位置:TM\\06\\MrCy\\MrCy\\bin\\Debug\\ MrCy.exe(3)本系统共分为三种操作权限,分别为超级管理员、经理、一般用户: 一般用户: 一般用户只可以对辅助工具菜单、系统设置菜单、窗口布局菜单及帮助菜单进行使用操作。。 经理:经理除系统设置菜单不能使用以外,其它菜单都可以使用并管理操作。 超级管理员:超级管理员可以对所有菜单进行管理操作。(4)单击鼠标右键,可进行开台、取消开台、点菜、消费查询及结账操作。(5)锁定系统解锁密码为:111。(6)如果添加菜品类别,需要在数据库中添加。操作流程(1)用户输入用户名及密码进入超级管理员操作界面,如图1.1所示。 图1.1 超级管理员(2)单击“基础信息”/“台桌信息”菜单项,对台桌信息进行添加、修改、查询及删除操作,如图1.2所示。 图1.2 台桌信息(3)单击“基础信息”/“职员信息”菜单项,对职员信息进行添加、修改、查询及删除操作,如图1.3所示。 图1.3 职员信息(4)单击界面上的任一台桌,进行开台、取消开台、点菜、消费查询及结账操作,如图1.4所示。 图1.4 台桌操作(5)通过“辅助工具”菜单,可直接调用日历、记事本和计算器的快捷方式。(6)通过“系统维护”菜单,可对数据库进行备份、恢复及权限设置操作。(7)通过“系统设置”菜单,可对当前用户进行密码修改及锁定系统操作。

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧