gpt4 book ai didi

c# - 微软高性能计算 : check if user is logged

转载 作者:太空狗 更新时间:2023-10-30 01:20:12 24 4
gpt4 key购买 nike

使用 HPC 的 API 向 Microsoft HPC 服务器提交作业时,通过调用 SubmitJob 函数提交作业:

void SubmitJob (ISchedulerJob job, string username, string password);

如果用户名为空,系统使用Windows的用户名,如果密码为空,系统搜索缓存的密码。

如果没有缓存的密码(或缓存的密码不正确),系统会提示一个控制台屏幕,要求用户输入密码(直到输入正确的密码)。

我想避免这个屏幕,相反我想检查用户是否有正确的缓存密码,否则显示我自己的对话框而不是默认的控制台屏幕。

问题是到目前为止我无法找到这样做的方法,IScheduler 有一个名为 GetUserPrivileges() 的方法,它会告诉您用户是否有 No Access\User\Admin 服务器上的权限。但它会为服务器上的任何现有用户名返回 User,不管是否存在缓存的密码。

是否可以在提交作业之前检查用户是否具有正确的缓存密码,如果没有,则请求密码?或者用我自己的自定义对话框替换默认的请求密码控制台?

最佳答案

来自 MSDN :

对于 Windows HPC Server 2008 R2,您可以指示如果缓存的凭据不能用于作业,则 SubmitJob 方法应生成异常。要指示 SubmitJob 应在这种情况下生成异常,请在调用 SetInterfaceMode 方法时将 isConsole 参数的值指定为 false,并将值为 -1 的 IntPtr 对象指定为 hwnd 参数。例如,SetInterfaceMode(false, new IntPtr(-1));。

关于c# - 微软高性能计算 : check if user is logged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19948738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com