1

我有一个 MVC 应用程序,其中包含一个小的 Silverlight 菜单,该菜单显示为大多数页面中使用的 .Master 页面的一部分。

我还编写了一个 MembershipProvider(和一个角色提供者),它使用我的应用程序的数据库对用户进行身份验证和授权。工作正常。

但是,如果用户是管理员角色,我希望 Silverlight 菜单包含一些额外的项目。当然,一种可能性是制作两个 Silverlight 菜单应用程序,并根据母版页中的用户选择显示哪一个。但这对我来说有丑陋的一面。

如果 Silverlight 应用程序能够确定登录用户的身份并使用它来配置自身以显示管理选项,则更好的选择是。

有没有一种简单的方法来做这样的事情?MVC 应用程序和 Silverlight 应用程序部署在同一 IIS7 服务器上,并且是同一解决方案的一部分。

到目前为止,我在 Web 上找到的解决方案要么提示用户在 Silverlight 应用程序中单独登录,要么使用 WCF 服务进行大量工作。如果必须,我会走那条路,但我觉得应该有一种优雅、简单的方法来做到这一点。

我坚信 KISS 原则,因此高度赞赏简单!

谢谢!

4

1 回答 1

1

我非常确信您的 Silverlight 菜单不必知道用户是否是管理员。

如果您有一个可以显示任意数量项目的“通用样式”菜单控件,那么我认为应该传达这些项目。然后主视图应该决定要显示的项目。更好的是,控制器应该根据用户的状态返回要显示的项目,而主视图应该只呈现它们。

如果您有一个专门为适合您的 Web 应用程序而设计的菜单控件,但实际上并没有显示任何数量的项目,那么主视图应该只设置一个属性或其他东西来传达这一事实。

你的问题的其余部分让我有点困惑,但我相信你的 silverlight 组件本身并不是一个完整的“应用程序”,只是演示文稿的一部分。

于 2009-02-09T10:58:53.267 回答