C# 使用表单身份验证的ASP.NET MVC应用程序

C# 使用表单身份验证的ASP.NET MVC应用程序,c#,asp.net-mvc,asp.net-mvc-4,c#-4.0,C#,Asp.net Mvc,Asp.net Mvc 4,C# 4.0,我要参加微软70-486MVC考试。所以我正在准备。在70-486考试中遇到一个最重要的问题,但对他们给出的答案不满意 问题 您正在开发一个使用表单身份验证的ASP.NET MVC应用程序。 用户数据库包含一个名为LibraryAdmin的用户 您有以下要求: 必须允许所有用户访问GetBook方法。 必须限制名为LibraryAdmin的用户访问EditBook方法。 您需要实现控制器以满足要求 您应该使用哪个代码段?每一个正确的答案都是一个完整的解决方案。选择所有适用的选项 但根据问题,我必

我要参加微软70-486MVC考试。所以我正在准备。在70-486考试中遇到一个最重要的问题,但对他们给出的答案不满意

问题

您正在开发一个使用表单身份验证的ASP.NET MVC应用程序。 用户数据库包含一个名为LibraryAdmin的用户


您有以下要求:

必须允许所有用户访问GetBook方法。 必须限制名为LibraryAdmin的用户访问EditBook方法。 您需要实现控制器以满足要求

您应该使用哪个代码段?每一个正确的答案都是一个完整的解决方案。选择所有适用的选项

但根据问题,我必须限制名为LibraryAdmin的用户访问EditBook方法。选项A和C都允许访问编辑书籍。所以我觉得答案是错的。那么正确答案是什么


参考:是A和C是正确的

在GetBook中,对任何具有AllowAnon属性的用户开放。然后[AuthorizeUsers=…]。这是正确的

同样,在C代码中,通过直接访问用户身份和使用LibraryAdmin检查用户名来检查用户。这也很好

这本书的答案是正确的。
请参阅:

是A和C是正确的

在GetBook中,对任何具有AllowAnon属性的用户开放。然后[AuthorizeUsers=…]。这是正确的

同样,在C代码中,通过直接访问用户身份和使用LibraryAdmin检查用户名来检查用户。这也很好

这本书的答案是正确的。
看:

我想你把这个句子的意思弄错了。这是我在阅读了Darthvader之后得出的结论


限制Ryder编辑此问题意味着只有Ryder可以编辑此问题。反之亦然。

我想你把这个句子的意思弄错了。这是我在阅读了Darthvader之后得出的结论


限制Ryder编辑此问题意味着只有Ryder可以编辑此问题。反之亦然。

您有以下要求:

必须允许所有用户访问GetBook方法。 必须限制名为LibraryAdmin的用户访问EditBook方法。 答案应该是A

C是不正确的,因为当要求限制访问时,名为LibraryAdmin的用户可以访问EditBook操作


要么问题错了,要么书中提供的答案错了。

您有以下要求:

必须允许所有用户访问GetBook方法。 必须限制名为LibraryAdmin的用户访问EditBook方法。 答案应该是A

C是不正确的,因为当要求限制访问时,名为LibraryAdmin的用户可以访问EditBook操作


要么问题错了,要么书中提供的答案错了。

如果你仔细阅读问题,你必须允许

访问所有用户以访问方法Getbook 2.和LibraryAdmin的方法“Editbook”,并通过各种方式限制其他用户


查看选项A和C这些选项满足上述条件,因此答案将是选项A和选项C如果您仔细阅读问题,您必须允许

访问所有用户以访问方法Getbook 2.和LibraryAdmin的方法“Editbook”,并通过各种方式限制其他用户


查看选项A和C,这些选项满足上述条件,所以答案是选项“A”和“C”

两者都有效,但如果您必须只选择一个选项,那么A是合适的答案,因为我们可以忽略选项C,为什么在类和函数上都有[Authorize]数据注释。如果我们在类名上使用它,则无需在函数上书写。

两者都可以工作,但如果您必须只选择一个选项,则答案是合适的,因为我们可以忽略选项C,为什么在类和函数上都有[Authorize]数据注释。如果我们在类名上使用它,那么就不需要在函数上写。

yau-ryt。但在选项A中,他们给出了[AuthorizeUser=LibraryAdmin],它将允许LibraryAdmin访问该方法。但根据问题,我必须限制接触他。所以我很怀疑。你能给我解释一下吗。但在选项A中,他们给出了[AuthorizeUser=LibraryAdmin],它将允许LibraryAdmin访问该方法。但根据问题,我必须限制接触他。所以我很怀疑。你能给我解释一下吗。你说我理解错了这个问题,多谢你帮我节省了时间。你说我理解错了吗谢谢你帮我节省了很多时间。但是在图书馆管理员也有编辑本方法的权限,对吗?我认为限制对LibraryAdmin的访问意味着他获得了权限,就像在A中一样。所以是A+C,但在LibraryAdmin中,他也有EditBook方法的权限,对吗?我认为这意味着什么 限制对LibraryAdmin的访问意味着他获得了权限,就像在A中一样。所以是A+C