小编Ale*_*lex的帖子

使用LogonUser后出现UnauthorizedAccessException

我重写Application_AuthenticateRequest将Windows身份验证用户替换为我通过调用以编程方式检索的另一个用户LogonUser.当我将生成的WindowsPrinciple分配给Context.User时,我得到以下异常.我的开发机器上没有这个例外(一切都很完美),只在我的QA机器上.这两台机器都是Windows Server 2008 R2.QA机器上有些不同,但我不知道它是什么.

以下是我想要完成的内容的完整描述.

    [UnauthorizedAccessException: Attempted to perform an unauthorized operation.]
   System.Security.Principal.WindowsIdentity.get_AuthenticationType() +317
   System.Web.Hosting.IIS7WorkerRequest.SetPrincipal(IPrincipal user, IntPtr pManagedPrincipal) +106
   System.Web.HttpContext.SetPrincipalNoDemand(IPrincipal principal, Boolean needToSetNativePrincipal) +9022044
   System.Web.HttpContext.SetPrincipalNoDemand(IPrincipal principal) +6
   System.Web.HttpContext.set_User(IPrincipal value) +36
   MyProj.MvcApplication.OverrideLoginUser() in C:\Data\Project\MyProj\Global.asax.cs:317
   MyProj.MvcApplication.Application_AuthenticateRequest(Object sender, EventArgs e) in C:\Data\Project\MyProj\Global.asax.cs:305
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
Run Code Online (Sandbox Code Playgroud)

更新

我通过将应用程序池的标识从"ApplicationPoolIdentity"更改为"LocalSystem"来解决QA计算机上的错误.在我的开发框中,设置是ApplicationPoolIdentity,那么为什么权限不同?失败的功能需要什么权限?

更新2

我已经筋疲力尽了.即使在本地Administrators组中使用用户帐户也无济于事.唯一可行的是将应用程序池作为LocalSystem运行.其他一些人也有这个问题(在这里记录)任何想法都受到赞赏.谢谢.

.net windows asp.net asp.net-mvc authorization

7
推荐指数
1
解决办法
3006
查看次数

如何从命令提示符或批处理文件中将具有长名称的组添加到本地组?

当尝试添加名称长度超过20个字符的全局组时,net.exe我收到错误消息,说明语法不正确,如下所示:

C:\>NET.EXE localgroup MyRemoteUsers "really-long-group-name-here" /ADD

The syntax of this command is:

NET LOCALGROUP [groupname [/COMMENT:"text"]] [/DOMAIN]
groupname {/ADD [/COMMENT:"text"] | /DELETE}  [/DOMAIN]
groupname name [...] {/ADD | /DELETE} [/DOMAIN]
Run Code Online (Sandbox Code Playgroud)

Microsoft在此处记录了此问题.我需要这个在标准的.cmd批处理文件中工作.有一个简单的解决方法吗?

powershell batch-file active-directory

7
推荐指数
1
解决办法
5207
查看次数

ASP.NET MVC3 - 3层设计 - 事务控制和业务层设计问题

我正在设计一个ASP.NET MVC3应用程序,我希望在3层架构中明确区分关注点.我使用Fluent NHibernate作为ORM,Repository模式与NHibernate映射的实体一起使用.我想添加一个具有Unit Of Work模式的适当业务层,保留MVC部分仅用于表示(通过使用通过业务层映射到nHibernate实体的ViewModels). 本文很好地描述了组合的3层和MVC架构.

根据这个MVC +工作单元+存储库文章,我没有看到业务层的明显区别.工作单元类为每个存储库类型提供强类型的getter,它看起来适合业务层.但是,它暴露了一个Save方法,我认为它会转换为使用nHibernate的BeginTransaction和CommitTransaction方法.这引出了一些问题:

1)将事务控制暴露给MVC是一个好主意吗?交易控制应该在哪个阶段发生?在我看来,MVC不应该对交易负责,但如何避免这种情况?

2)是否应该有一些自动处理交易的方法? 此ActionFilter实现是半自动的,但事务控制显然位于MVC部分,而不是业务层.

3)UnitOfWork类与业务层类相同吗?
- 如果是这样,这是否意味着我们可以在其中添加自定义业务逻辑方法?
- 如果没有,我们是否将工作单元包含在包含业务逻辑方法的其他类中?

我感谢任何想法或例子.谢谢.

architecture asp.net-mvc design-patterns unit-of-work fluent-nhibernate

6
推荐指数
1
解决办法
5354
查看次数

使用Oracle的NHibernate多查询/期货

我试图在NHibernate 3.2和Oracle 11gR2中使用期货.虽然我不确定,但这似乎并不支持.我在NHibernate Jira上发现了这个问题,这使得它看起来像Oracle的未来可能.有谁知道如何让期货与Oracle合作?Oracle不受支持的原因究竟是什么?

更新

根据这里的评论,我尝试使用HQL multiquery.我在执行时遇到异常_nhSession.CreateMultiQuery();这是例外:

The driver NHibernate.Driver.OracleDataClientDriver does not support multiple queries.
Run Code Online (Sandbox Code Playgroud)

我还能尝试什么?我使用了错误的驱动程序吗?

.net oracle nhibernate orm fluent-nhibernate

6
推荐指数
2
解决办法
1969
查看次数

ASP.NET MVC3 Ajax.ActionLink - 条件确认对话框

我有一个@ Ajax.ActionLink,只有在满足某些条件(用户有未保存的更改)时才会显示确认对话框.我创建了一个javascript函数,根据需要显示确认对话框,并根据响应返回true或false.我将它绑定到ActionLink的onclick事件,但是错误的结果不会取消操作.这是我的代码示例:

@Ajax.ActionLink("Done", .. , .. , 
                  new AjaxOptions() { UpdateTargetId = "MyContainerId"},
                  new { onclick = "ConfirmDone()" })
Run Code Online (Sandbox Code Playgroud)

这是javascript函数

function ConfirmDone() {
    //for testing purposes we can always show the dialog box
    return confirm("Are you sure you want to lose unsaved changes?");
}
Run Code Online (Sandbox Code Playgroud)

显示Ajax.ActionLink的条件确认对话框的最佳方法是什么?

javascript ajax asp.net-mvc

5
推荐指数
1
解决办法
1万
查看次数

启动应用程序时 jvm.dll 丢失错误

我试图在 Windows 7 64 位上运行 CapeClear SOA Editor 应用程序,但它无法启动并产生一个错误,指出它无法加载 jvm.dll。我安装了 64 位 JDK 版本 7u13。

唯一有效的是安装 32 位版本的 JDK,然后将 JAVA_HOME 变量设置为指向 32 位版本C:\Program Files (x86)\Java\jdk1.7.0_13

为什么会这样?我该怎么做才能解决这个问题,以便我的 JAVA_HOME 指向 64 位 JDK 并且 SOA 编辑器应用程序启动时不会出错?

PS我试图复制的jvm.dllC:\Program Files (x86)\Java\jdk1.7.0_13\jre\bin\serverC:\Program Files (x86)\Java\jdk1.7.0_13\jre\bin\client到同一个直接作为SOAEditor.exe但没有帮助。

更新 1:使用 listdll.exe 我验证了 SOA 编辑器已加载 C:\Program Files (x86)\Java\jdk1.7.0_13\jre\bin\client\jvm.dll

更新 2:添加C:\Program Files (x86)\Java\jdk1.7.0_13\jre\bin\client\到路径变量也没有帮助

java windows dll path

5
推荐指数
1
解决办法
3万
查看次数

SQL Developer剥离内联提示

我正在使用SQL Developer 3.1.07.我使用内联提示向Oracle运行了一个查询,--+ hint但SQL Developer似乎在将提交提交到数据库之前删除了提示.多线提示/*+ hint */没有被剥夺.是否有选项可以在SQL Developer中保留内联提示/注释?

oracle hints query-hints oracle11g oracle-sqldeveloper

5
推荐指数
1
解决办法
1425
查看次数

带有PLSQL集合的Listagg函数

我有一个以下类型的PL/SQL集合

type p_typ_str_tab is table of varchar2(4000) index by pls_integer;
Run Code Online (Sandbox Code Playgroud)

我想用一个简单的内联函数将值聚合成一个字符串,就像LISTAGG不编写任何自定义函数或for循环一样.所有示例LISTAGG都没有显示如何使用PL/SQL集合.我正在使用Oracle 11g R2.这可能吗?

oracle collections plsql aggregate-functions oracle11g

4
推荐指数
2
解决办法
5005
查看次数

此评级选项已被Android电子市场小组停用

我看到了这个消息

此评级选项已被Android电子市场小组停用

我的应用程序的"全部"评级选项旁边.这适用于需要访问互联网才能投放adMob广告的应用.我不允许选择"全部"选项.我的应用适合小孩子,广告不会出现在主游戏屏幕上.有没有人知道如何解决这个问题?

android google-play

2
推荐指数
1
解决办法
1893
查看次数

退出 ssh -tt 会话

我正在远程 ssh 主机上执行脚本,如下所示:

ssh -tt $USER@somehost 'bash -s' < ./myscript.sh

注意伪 tty-tt开关。

我的问题是脚本运行完毕后,ssh 会话并未结束。打字exit也没有任何作用。我如何让它退出?

linux ssh bash terminal tty

2
推荐指数
1
解决办法
3927
查看次数