我想钩入域用户login系统,并处理我自己的本地configuration文件创build。 我有两个基本的相关问题:
目标平台 – Windows 7企业版,专业版,家庭高级版(可选)
我不介意使用Active Directory,但我更喜欢使用Linux(Samba 4?)软件,因为我的服务器都将运行Linux。 这是相对不相关的,因为我只是想要一些文档,甚至是在Google上search什么。
编辑:我发现这个链接在微软的msdn网页。
我也发现这对于开始定制GINA非常有帮助。
我是否需要任何特殊软件来创buildauthentication包? 我可以从此脚本访问Web或networking资源来validation凭据吗?
在这种情况下,您可以做的是创build一个以LocalSystem权限运行的Windows服务,并与您的凭证提供程序进行通信。
当用户将他/她的凭证inputICredentialsProvider时,将联系Windows服务,服务将处理authentication。
成功authentication后,服务应validation系统中是否存在此类帐户,否则请使用NetUserAdd创build一个新的本地帐户,并使用该帐户login系统。
请记住,ICredentialsProvider没有创build本地帐户或使用大多数Net *function的特权,这就是为什么我build议使用LocalSystem priv创build一个windows服务。
如果您只想对configuration文件进行less量更改,则可以考虑使用“主动安装”。
一旦你在机器上设置了它,它将在用户的configuration文件加载之后运行,然后你可以对其文件/设置进行用户特定的更改。
这不是一个完整的答案,但我认为这是解决scheme的重要补充。
在Windows Vista之前的基于Windows NT的系统中,Microsoft使用了一种名为GINA(graphics界面和身份validation)的方法来运行用户login的许多顶级身份validation,但是它也使用了一些名为WinLogin的更低级别的东西。 使用GINA,程序员可以为WinLogin创build一个自定义的UI和authentication后端,WinLogin将调用处理login所需的方法。 但是和Vista一样,一切都改变了。
在Vista中,Microsoft提供了一个名为ICredentialProvider的接口,允许用户注册一个Credential Provider。 这里有一篇关于为什么GINA被丢弃的文章,这也给了新系统一个很好的介绍。
由于这是比基于IT更多的编程基础,我会继续前进,并在StackOverflow上创build一个关于实现这个问题的具体问题。 似乎没有任何特殊的软件是必要的。
第二个问题依然存在 。 我会继续寻找关于我是否可以处理自己的个人资料创build的答案。 我认为这应该是可能的,但我不确定。
我知道大多数需要通过修改默认用户configuration文件来获取新用户configuration文件的信息。 该configuration文件被导入到所有新的configuration文件中,就像/etc/skel在Unix系统上一样。 这是必要的一个愚蠢的过程,所以作为configuration文件副本的一部分启动自定义脚本是不是真正可行的编码到默认用户的运行一个login脚本。