Lightswitch Forms多个页面上的身份验证注销按钮?

时间:2015-02-20 12:34:13

标签: visual-studio forms-authentication visual-studio-lightswitch

Lightswitch默认在主页上提供了一个Logout按钮,但是我也希望能够选择在其他页面上注销。是否可以将注销按钮放在多个页面上?

2 个答案:

答案 0 :(得分:4)

如果您正在使用HTML客户端,可以通过替换LightSwitch库的_determineButtons函数中的以下代码行来轻松实现: -

result.showLogOut = msls_shell.getHomeScreen() === navigationUnit.screen.details.getModel();

使用以下代码行: -

result.showLogOut = true;

此函数位于Scripts \ msls - ?。?。?。js文件中,为了应用此类库文件更改,您需要引用LightSwitch库的未缩小版本通过在HTML客户端的default.htm文件中进行以下更改: -

<!--<script type="text/javascript" src="Scripts/msls-?.?.?.min.js"></script>-->
<script type="text/javascript" src="Scripts/msls-?.?.?.js"></script>

msls参考中的问号需要反映您正在使用的版本,例如msls-2.5.2.js(适用于Visual Studio 2013 Update 4)。

上述方法将强制LogOut按钮出现在每个页面上。但是,如果您需要更多地控制LogOut按钮何时出现,您可以在_determineButtons函数中使用以下替代更改: -

result.showLogOut = window.msls.showLogOut;

然后,在每个屏幕的创建方法中,当您希望按钮出现时将msls.showLogOut属性设置为true,而当您不希望按钮出现时将其设置为false: -

myapp.BrowseContacts.created = function (screen) {
    // Write code here.
    msls.showLogOut = true;
};

答案 1 :(得分:1)

您不会说出什么版本或语言。这是用于VS2012,Lightswitch Web应用程序的VB。

向屏幕命令栏添加一个按钮,将其命名为Logout(如果需要,可以在“属性”面板中为其选择图像)。右键单击该按钮,然后选择“编辑执行代码”。使用以下内容:

    Private Sub Logout_Execute()
        Microsoft.LightSwitch.Threading.Dispatchers.Main.BeginInvoke(
            Sub()
                System.Windows.Browser.HtmlPage.Window.Navigate(New Uri("../LogOut.aspx", UriKind.Relative))
            End Sub)
    End Sub

适合我。

菲尔