blob: 874ac5cc355a7b37e6edacb67750f5d64942f7ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
//------------------------------------------------------------------------------
// <copyright file="SqlCredential.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
// <owner current="true" primary="true">[....]</owner>
// <owner current="true" primary="false">[....]</owner>
//------------------------------------------------------------------------------
namespace System.Data.SqlClient
{
using System;
using System.Security;
using System.Data.Common;
// Represent a pair of user id and password which to be used for SQL Authentication
// SqlCredential takes password as SecureString which is better way to store security sensitive information
// This class is immutable
public sealed class SqlCredential
{
string _userId;
SecureString _password;
//
// PUBLIC CONSTRUCTOR
//
// SqlCredential
// userId: userId
// password: password
//
public SqlCredential(string userId, SecureString password)
{
if (userId == null)
{
throw ADP.ArgumentNull("userId");
}
if (userId.Length > TdsEnums.MAXLEN_USERNAME)
{
throw ADP.InvalidArgumentLength("userId", TdsEnums.MAXLEN_USERNAME);
}
if (password == null)
{
throw ADP.ArgumentNull("password");
}
if (password.Length > TdsEnums.MAXLEN_PASSWORD)
{
throw ADP.InvalidArgumentLength("password", TdsEnums.MAXLEN_PASSWORD);
}
if (!password.IsReadOnly())
{
throw ADP.MustBeReadOnly("password");
}
_userId = userId;
_password = password;
}
//
// PUBLIC PROPERTIES
//
public string UserId
{
get
{
return _userId;
}
}
public SecureString Password
{
get
{
return _password;
}
}
}
} // System.Data.SqlClient namespace
|