Shiro 你在登录的时候,是怎么做的,然后你自己再手动login一下。即可,所有步骤Shiro会再走一遍,这样就OK了。
正常登录:
提交帐号密码————> login—————>shiro 做登录 *** 作
你再次触发登录
根据你的条件查询到用户————>login————>shiro做登录 *** 作
DWORD pid = FindExplorer (); // 找到登录用户的explorer进程
HANDLE ph = OpenProcess (pid, );
HANDLE token;
OpenProcessToken (ph, TOKEN_QUERY | TOKEN_DUPLICATE, &token);
ImpersonateLoggedOnUser (token);
// 在以上调用成功后,再调用GetUserName或GetUserNameEx就可以得到登录用户名了
GetUserName ();
// 最后
RevertToSelf ();
在创建 intent 后 使用 intentputExtra 方法往 intent 中加入数据。
putExtra方法中有两个值 一个是 name 另一个是 value
(补充一点 用intent进行数据传递 使用的是键值对的方法进行传递)
其中 name 是string类型的 它代表的是一个key 也是代表键值对中的键
value 有很多个类型 这里的类型代表了你可以传递过去值的类型 value对应的是键值对中的值。
取出中传过来的值的方法是这样的:
Intent intent=getIntent();
String name=intentgetStringExtra("name");
1、控制台程序无法获取系统用户名,可以调用API:GetUserName来获取。
2、原形:BOOL GetUserName(LPTSTR lpBuffer, LPDWORD nSize);
举例:
char strBuffer[256] ={0};
DWORD dwSize = 256;
GetUserName(strBuffer, &dwSize);
以上就是关于只能获取登录名和加密后的密文,通过shiro如何实现登录全部的内容,包括:只能获取登录名和加密后的密文,通过shiro如何实现登录、系统服务进程中怎样取得当前登录的用户名、android 开发 如何获取已登录用户的用户名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)