mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-17 17:23:48 -05:00
setting user status in oe if user is disabled (#378)
* setting user status in oe if disabled
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
//
|
||||
|
||||
using Microsoft.SqlServer.Management.Smo;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
||||
{
|
||||
/// <summary>
|
||||
/// Status for logins
|
||||
/// </summary>
|
||||
internal partial class UsersChildFactory : SmoChildFactoryBase
|
||||
{
|
||||
public override string GetNodeStatus(object context)
|
||||
{
|
||||
return UserCustomeNodeHelper.GetStatus(context);
|
||||
}
|
||||
}
|
||||
|
||||
internal static class UserCustomeNodeHelper
|
||||
{
|
||||
internal static string GetStatus(object context)
|
||||
{
|
||||
User user = context as User;
|
||||
if (user != null)
|
||||
{
|
||||
if (!user.HasDBAccess)
|
||||
{
|
||||
return "Disabled";
|
||||
}
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,9 +123,9 @@ NodeType: FileGroup Label: PRIMARY SubType: Status:
|
||||
NodeType: FullTextCatalog Label: AW2014FullTextCatalog SubType: Status:
|
||||
NodeType: User Label: amy0 SubType: Status:
|
||||
NodeType: User Label: dbo SubType: Status:
|
||||
NodeType: User Label: guest SubType: Status:
|
||||
NodeType: User Label: INFORMATION_SCHEMA SubType: Status:
|
||||
NodeType: User Label: sys SubType: Status:
|
||||
NodeType: User Label: guest SubType: Status:Disabled
|
||||
NodeType: User Label: INFORMATION_SCHEMA SubType: Status:Disabled
|
||||
NodeType: User Label: sys SubType: Status:Disabled
|
||||
NodeType: DatabaseRole Label: db_accessadmin SubType: Status:
|
||||
NodeType: DatabaseRole Label: db_backupoperator SubType: Status:
|
||||
NodeType: DatabaseRole Label: db_datareader SubType: Status:
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
//
|
||||
|
||||
using Microsoft.SqlServer.Management.Smo;
|
||||
using Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ObjectExplorer
|
||||
{
|
||||
public class UsersChildFactoryTests
|
||||
{
|
||||
[Fact]
|
||||
public void GetStatusShouldReturnEmptyStringGivenNull()
|
||||
{
|
||||
string expected = string.Empty;
|
||||
string actual = UserCustomeNodeHelper.GetStatus(null);
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetStatusShouldReturnEmptyStringGivenNotUser()
|
||||
{
|
||||
string expected = string.Empty;
|
||||
string actual = UserCustomeNodeHelper.GetStatus(new Database());
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user