aboutsummaryrefslogtreecommitdiff
path: root/files/ko/using_nsiloginmanager/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ko/using_nsiloginmanager/index.html')
-rw-r--r--files/ko/using_nsiloginmanager/index.html141
1 files changed, 0 insertions, 141 deletions
diff --git a/files/ko/using_nsiloginmanager/index.html b/files/ko/using_nsiloginmanager/index.html
deleted file mode 100644
index 738636ae3e..0000000000
--- a/files/ko/using_nsiloginmanager/index.html
+++ /dev/null
@@ -1,141 +0,0 @@
----
-title: Using nsILoginManager
-slug: Using_nsILoginManager
-tags:
- - Firefox 3
- - Interfaces
-translation_of: Mozilla/Tech/XPCOM/Reference/Interface/nsILoginManager/Using_nsILoginManager
----
-<p></p>
-<h3 id=".EB.A1.9C.EA.B7.B8.EC.9D.B8_.EA.B4.80.EB.A6.AC.EC.9E.90.EB.A1.9C_.EC.9E.91.EC.97.85_.ED.95.98.EA.B8.B0" name=".EB.A1.9C.EA.B7.B8.EC.9D.B8_.EA.B4.80.EB.A6.AC.EC.9E.90.EB.A1.9C_.EC.9E.91.EC.97.85_.ED.95.98.EA.B8.B0">로그인 관리자로 작업 하기</h3>
-<p>확장은 종종 외부 사이트나 웹 애플리케이션 등의 암호를 안전하게 저장할 필요가 있습니다. 그러기 위해서는 민감한 암호 정보를 저장하기 위한 안전한 저장소를 제공하는 <code><a href="ko/NsILoginManager">nsILoginManager</a></code>와 로그인 정보를 저장하는 방법을 제공하는 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code>를 사용할 수 있습니다.</p>
-<h3 id="nsILoginManager_.EC.96.BB.EA.B8.B0" name="nsILoginManager_.EC.96.BB.EA.B8.B0"><code>nsILoginManager 얻기</code></h3>
-<p><code>nsILoginManager</code>를 구현한 콤포넌트를 얻으려면 다음 코드를 사용합니다.</p>
-<pre>var passwordManager = Components.classes["@mozilla.org/login-manager;1"]
- .getService(Components.interfaces.nsILoginManager);
-</pre>
-<p>대부분의 로그인 관리자 함수는 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체를 매개 변수로 취합니다. <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체는 다음과 같은 속성을 포함합니다: hostname, form submit URL, HTTP realm, username, username field, password, password field. hostname, username, password는 필수 속성이지만 기타 필드는 로그인이 웹 페이지 양식을 위한 것인지 아니면 HTTP/FTP 인증 사이트 로그인인지에 따라 설정됩니다. 자세한 정보는 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 속성 정의를 참고하시기 바랍니다. <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체를 정의하는 것은 간단합니다.</p>
-<pre>var nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1",
- Components.interfaces.nsILoginInfo,
- "init");
-
-var loginInfo = new nsLoginInfo(hostname, formSubmitURL, httprealm, username, password,
- usernameField, passwordField);
-</pre>
-<h3 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h3>
-<h4 id=".EC.9B.B9_.ED.8E.98.EC.9D.B4.EC.A7.80.EB.A5.BC_.EC.9C.84.ED.95.9C_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1" name=".EC.9B.B9_.ED.8E.98.EC.9D.B4.EC.A7.80.EB.A5.BC_.EC.9C.84.ED.95.9C_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1">웹 페이지를 위한 로그인 생성</h4>
-<pre class="eval"> <span class="nowiki">var formLoginInfo = new nsLoginInfo('http://www.example.com',
- 'http://login.example.com', null,
- 'joe', 'SeCrEt123', 'uname', 'pword');</span>
-</pre>
-<p>이 로그인은 다음과 같은 HTML 양식에 해당합니다.</p>
-<pre class="eval"> <span class="nowiki">
- &lt;form action="http://login.example.com/foo/authenticate.cgi"&gt;
- Please log in.
- Username: &lt;input type="text" name="uname"&gt;
- Password: &lt;input type="password" name="pword"&gt;
- &lt;/form&gt;
- </span>
-</pre>
-<h4 id=".EC.82.AC.EC.9D.B4.ED.8A.B8_.EC.9D.B8.EC.A6.9D_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1" name=".EC.82.AC.EC.9D.B4.ED.8A.B8_.EC.9D.B8.EC.A6.9D_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1">사이트 인증 로그인 생성</h4>
-<pre class="eval"> <span class="nowiki">var authLoginInfo = new nsLoginInfo('http://www.example.com',
- null, 'ExampleCo Login',
- 'alice', 'SeCrEt321', null, null);</span>
-</pre>
-<p>이는 서버가 다음과 같은 응답을 보낼 때 <span class="nowiki">http://www.example.com</span>에 로그인 하는 것에 해당합니다.</p>
-<pre class="eval"> HTTP/1.0 401 Authorization Required
- Server: Apache/1.3.27
- WWW-Authenticate: Basic realm="ExampleCo Login"
-</pre>
-<h4 id=".EC.A7.80.EC.97.AD_.ED.99.95.EC.9E.A5_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1" name=".EC.A7.80.EC.97.AD_.ED.99.95.EC.9E.A5_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1">지역 확장 로그인 생성</h4>
-<pre class="eval"> <span class="nowiki">var extLoginInfo = new nsLoginInfo('chrome://firefoo',
- 'User Registration', null,
- 'bob', '123sEcReT', null, null);</span>
-</pre>
-<p>로그인 관리자는 이를 웹 사이트 로그인인 것처럼 취급합니다. 다른 확장과 충돌을 피하려면 확장의 <a class="external" rel="freelink">chrome://</a> URL과 로그인의 목적을 나타내는 영역 문자열을 사용해야 합니다.</p>
-<h3 id=".EC.95.94.ED.98.B8_.EC.A0.80.EC.9E.A5.ED.95.98.EA.B8.B0" name=".EC.95.94.ED.98.B8_.EC.A0.80.EC.9E.A5.ED.95.98.EA.B8.B0">암호 저장하기</h3>
-<p>로그인 관리자에 암호를 저장하려면 먼저 위에서 정의한 대로 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체를 생성해야 합니다. 그리고 나서 간단하게 <code><a href="ko/NsILoginManager">nsILoginManager</a></code>의 메소드인 <code><a href="ko/NsILoginManager#addLogin.28.29">addLogin()</a></code>를 호출합니다.</p>
-<pre class="eval"> myLoginManager.addLogin(loginInfo);
-</pre>
-<p></p><div class="blockIndicator note"><strong>주의:</strong> &lt;tt&gt;httprealm&lt;/tt&gt;과 &lt;tt&gt;formSubmitURL&lt;/tt&gt; 매개 변수가 모두 <code>NULL</code>이면 여기에서 예외가 발생합니다. 암호를 저장하려면 하나를 지정해야 합니다. &lt;tt&gt;hostname&lt;/tt&gt;, &lt;tt&gt;username&lt;/tt&gt;, &lt;tt&gt;password&lt;/tt&gt; 매개 변수 또한 필수입니다.</div><p></p>
-<h3 id=".EC.95.94.ED.98.B8_.EA.B5.AC.ED.95.98.EA.B8.B0" name=".EC.95.94.ED.98.B8_.EA.B5.AC.ED.95.98.EA.B8.B0">암호 구하기</h3>
-<p>로그인 관리자에서 암호를 구하는 것은 약간 더 어렵습니다. 암호를 찾으려면 &lt;tt&gt;hostname&lt;/tt&gt;, &lt;tt&gt;formSubmitURL&lt;/tt&gt;, &lt;tt&gt;httprealm&lt;/tt&gt;이 찾을 암호를 위해 저장된 것과 <b>정확하게 일치</b>해야 합니다. 유일한 예외는 저장된 &lt;tt&gt;formSubmitURL&lt;/tt&gt;이 비어 있으면 이 경우에 &lt;tt&gt;formSubmitURL&lt;/tt&gt; 매개 변수는 무시한다는 것입니다. &lt;tt&gt;hostname&lt;/tt&gt;과 &lt;tt&gt;formSubmitURL&lt;/tt&gt; 인수는 전체 URL의 경로를 포함하면 안된다는 점에 주의하십시오. 아래 예제는 양식 로그인을 위한 시작점을 제공할 것입니다.</p>
-<pre>var hostname = 'http://www.example.com';
-var formSubmitURL = 'http://www.example.com'; // not http://www.example.com/foo/auth.cgi
-var httprealm = null;
-var username = 'user';
-var password;
-
-try {
- // Get Login Manager
- var myLoginManager = Components.classes["@mozilla.org/login-manager;1"]
- .getService(Components.interfaces.nsILoginManager);
-
- // Find users for the given parameters
- var logins = myLoginManager.findLogins({}, hostname, formSubmitURL, httprealm);
-
- // Find user from returned array of nsILoginInfo objects
- for (var i = 0; i &lt; logins.length; i++) {
- if (logins[i].username == username) {
- password = logins[i].password;
- break;
- }
- }
-}
-catch(ex) {
- // This will only happen if there is no nsILoginManager component class
-}
-</pre>
-<p>사용자가 암호를 안전하게 보관하도록 마스터 암호를 지정했다면 이를 입력하라는 요청을 받게 된다는 점을 참고하십시오.</p>
-<h3 id=".EC.95.94.ED.98.B8_.EC.A0.9C.EA.B1.B0.ED.95.98.EA.B8.B0" name=".EC.95.94.ED.98.B8_.EC.A0.9C.EA.B1.B0.ED.95.98.EA.B8.B0">암호 제거하기</h3>
-<p>암호를 제거하는 것은 간단합니다.</p>
-<pre class="eval"> myLoginManager.removeLogin(loginInfo);
-</pre>
-<p>암호를 제거할 때 지정한 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체는 저장된 것과 <b>정확하게 일치해야</b> 하며 그렇지 않으면 예외가 발생합니다. 이는 password 속성을 포함합니다. 여기에 실제로 암호가 무엇인지 모르면서 암호를 제거하는 방법을 보여주는 예제가 있습니다.</p>
-<pre>// example values
-var hostname = 'http://www.example.com';
-var formSubmitURL = 'http://www.example.com';
-var httprealm = null;
-var username = 'user';
-
-try {
- // Get Login Manager
- var passwordManager = Components.classes["@mozilla.org/login-manager;1"]
- .getService(Components.interfaces.nsILoginManager);
-
- // Find users for this extension
- var logins = passwordManager.findLogins({}, hostname, formSubmitURL, httprealm);
-
- for (var i = 0; i &lt; logins.length; i++) {
- if (logins[i].username == username) {
- passwordManager.removeLogin(logins[i]);
- break;
- }
- }
-}
-catch(ex) {
- // This will only happen if there is no nsILoginManager component class
-}
-</pre>
-<h3 id=".EC.A0.80.EC.9E.A5.EB.90.9C_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.A0.95.EB.B3.B4_.EB.B3.80.EA.B2.BD.ED.95.98.EA.B8.B0" name=".EC.A0.80.EC.9E.A5.EB.90.9C_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.A0.95.EB.B3.B4_.EB.B3.80.EA.B2.BD.ED.95.98.EA.B8.B0">저장된 로그인 정보 변경하기</h3>
-<p>암호를 변경하는 것은 간단합니다. 여기에서 하는 모든 일은 <code><a href="ko/NsILoginManager#removeLogin.28.29">removeLogin()</a></code>를 호출하고 나서 <code><a href="ko/NsILoginManager#addLogin.28.29">addLogin()</a></code>를 호출하는 것이므로 두 가지 모두와 같은 주의 사항이 있습니다. 즉, &lt;tt&gt;oldLogin&lt;/tt&gt;은 기존 로그인과 정확하게 일치해야 하고 (위를 참고) &lt;tt&gt;newLogin&lt;/tt&gt; 속성은 올바르게 지정되야 합니다.</p>
-<pre>myLoginManager.modifyLogin(oldLogin, newLogin);</pre>
-<h3 id=".EB.94.94.EB.B2.84.EA.B9.85" name=".EB.94.94.EB.B2.84.EA.B9.85">디버깅</h3>
-<p>로그인 관리자 구현은 오류 콘솔로 디버그 메시지를 보내는 것이 가능한데, 이는 하고 있는 일을 어느 정도 보여줍니다. 디버그 로깅을 활성화하려면 <a class="external" href="http://wiki.mozilla.org/Firefox:Password_Manager_Debugging" rel="freelink">http://wiki.mozilla.org/Firefox:Pass...ager_Debugging</a> 을 참고하시기 바랍니다.</p>
-<h3 id="Firefox_.EA.B5.AC_.EB.B2.84.EC.A0.84_.EC.A7.80.EC.9B.90" name="Firefox_.EA.B5.AC_.EB.B2.84.EC.A0.84_.EC.A7.80.EC.9B.90">Firefox 구 버전 지원</h3>
-<p>여러분의 확장이 Firefox 3와 구 버전을 모두 지원하기를 바란다면 <code><a href="ko/NsILoginManager">nsILoginManager</a></code>와 <code><a href="ko/NsIPasswordManager">nsIPasswordManager</a></code> 콤포넌트를 모두 구현해야 합니다. 이를 위한 간단한 방법은 다음과 같습니다.</p>
-<pre>if ("@mozilla.org/passwordmanager;1" in Components.classes) {
- // Password Manager exists so this is not Firefox 3 (could be Firefox 2, Netscape, SeaMonkey, etc).
- // Password Manager code
-}
-else if ("@mozilla.org/login-manager;1" in Components.classes) {
- // Login Manager exists so this is Firefox 3
- // Login Manager code
-}
-</pre>
-<p> </p>
-<p> </p>
-<p> </p>
-<div class="noinclude">
-  </div>
-<p></p>