728x90
300x250

[C#.NET] A 폼 닫고 B 폼 열기

Visual Basic 6을 사용해보신 분은 'hide'와 'show'만 가지고 자유자재로 컨트롤을 쉽게 제어할 수 있었습니다.
더불어 Application의 닫기 이벤트 또한 내부함수로 구성되어 있어서 사용하기에 편리했습니다.
C#은 문제를 도출하기 위해 다소 다른 방법을 사용합니다.
이 예제는 그러한 상황을 해결하기 위해 만들어졌습니다.


1. 인터페이스 설계

'Sample'이라는 제목을 가지고 있는 A 폼 입니다.
'Main'이라는 제목을 가지고 있는 B 폼 입니다.

 

 

 

 

 

 

 

그림 1) A 폼 닫고 B 폼 열기

솔루션 탐색기에서 'Program.cs'를 클릭합니다.


2. 구현

아래의 글 상자는 초기 소스 코드입니다.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace sample
{
    static class Program
    {
        /// <summary>
        /// 해당 응용 프로그램의 주 진입점입니다.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Login());
        }
    }
}

아래와 같이 신규 선언을 해줍니다.

            Application.Run(new Login());
            Main MainApp = new Main();
            Application.Run(MainApp);


Main은 이 예제의 실제 파일 이름입니다.
Application.Run()은 메인 폼 호출에서 도출해낸 아이디어입니다.



A폼으로 소스(Login.Designer.cs)를 엽니다.
초기 소스는 아래와 같이 선언되어 있음을 알수 있습니다.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace sample
{
    public partial class Login : Form
    {
        public Login()
        {
            InitializeComponent();
        }
    }
}


폼을 아래와 같이 구성 합니다.



그리고 버튼을 더블 클릭합니다.

        private void sLogin_Btn_Click(object sender, EventArgs e)
        {
        }


위와 같은 소스가 추가 됨을 알 수가 있습니다.

        {
        }


사이에 소스 코드를 입력합니다.

            Main MainApp = new Main();
            MainApp.Show();

            this.Close();



그리고 B 폼을 신규 윈도우 폼 추가합니다. 폼 이름은 Main으로 설정합니다.

조금 여운을 남겨놓습니다.
Program.cs에 클래스를 활용한다면 A 폼을 종료할 때 B 폼이 강제적으로 실행되는 것을 막을 수 있습니다.

반응형
728x90
300x250
[IIS 7.5] IIS Directory를 구성하기 위한 기본 권한

 

IIS의 호스팅 코어를 운영하기 위해서는 기본적으로 호스팅 대상의 폴더가 있어야 합니다.
호스팅 코어의 폴더를 수행하기 위해서는 디렉터리에 권한이 있어야 합니다.
IIS를 운영할 수 있도록 지원해줄 수 있는 권한이 필요합니다.

내용을 설명하기 위해 글을 올리게 되었습니다.

 


1. 윈도우에서 폴더 권한

 

 

그림 1-1) Public 폴더의 사용 권한

 

 

 

 

IIS를 동작시키기 위한 사용자 그룹은 위의 사항들과 같습니다. 이의 내용이 존재해야 동작합니다.
IIS_IUSRS그룹은 IIS를 동작시켜주는 권한을 지닌 계정그룹입니다. 반드시 필요합니다.

(논리 수준의 계정)
Users는 IIS_IUSRS의 권한 수준을 한 단계 높여주는 구실을 수행합니다.

CREATOR OWNER의 경우, 시스템의 생성할 수 있도록 권한을 획득하는 데 필요합니다.

(논리 수준의 계정)

SYSTEM은 시스템 환경에서의 권한 획득을 위해 필요합니다.

(논리 수준의 계정)

이상으로 권한에 관한 기초 설명을 마치겠습니다.

 


2. 참고자료(Reference)

 

1. http://msdn.microsoft.com/ko-kr/library/cc671592.aspx

 

반응형
728x90
300x250

[ASP.NET] CS 코드(C# 코드)에 자바스크립트 구현하기

ASP.NET에서 서버 측 코드와 클라이언트 측 코드가 분리되었습니다. Web2.0의 개발 추세에 맞게 적용해놨습니다.

물론 현재의 ASP.NET은 Web 3.0 추세에 맞게 발전되어가고 있습니다.
아래의 그림 결과와 같이 출력하는 예제를 구현하도록 하겠습니다.

1. 구현 결과




2. 작성하기

1. 빈 웹 프로젝트 만들기



ASP.NET 빈 웹 프로젝트를 만듭니다.

2. 빈 index.aspx 페이지 만들기

빈 페이지를 만듭니다.

3. 실제 코드 구현하기


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
    public partial class index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
      {
            ClientScriptManager sm = Page.ClientScript;
            string script = "<script>alert('" + "태스트" + "');</script>";
            sm.RegisterStartupScript(this.GetType(), "sm", script);
      }
    }
}

반응형
728x90
300x250

[ASP.NET] 폼 인증 방식

ASP.NET는 새로운 인증 방식을 지원합니다. 인증 방식에는 Passport 인증, Windows 인증, Forms 인증이 있습니다.
인증 방식은 종류가 매우 다양합니다. ASP.NET에는 쿠키 상태, 세션 상태, Application 상태 등이 있습니다.
상태 관리를 변형하면 인증 방식으로도 사용할 수 있습니다. 그러므로 인증 방식의 종류가 매우 다양합니다.
인증 방식에 따라 코드가 간단하지만, 보안에 취약한 경우가 있을 것입니다.
흔히 우리는 쿠키를 통한 인증을 자주 사용합니다. 왜냐하면, Temporary Folder에 저장되므로 고급 사용자가 아닌 이상 접근할 빈도가 낮게 구현하기가 쉽기 때문입니다.


1) 인증 방식의 종류
Passport 인증 - MS의 Passport 서비스를 이용하여 인증합니다.
Windows 인증(우리가 사용하는 윈도우 계정) - 가장 강력하지만, 사내 인트라넷에서 사용하므로 사내 첩자를 찾아낼 수 있도록 탐지기술 도입이 
                                                                    필요 합니다.
Forms 인증 - 쿠키를 이용하여 인증처리를 구현합니다. 쉽게 구현가능하며 .NET Framework에 포함된 보안 기술을 사용할 수 있습니다.
사용자 지정 - 말 그대로 사용자가 직접 인증 프로세스를 만들어 냅니다. 구현하는 데 다소 복잡하다는 특성을 가지고 있습니다.

Web.Config

중략
<system.web>
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="로그인페이지.aspx" defaultUrl="로그인 후에 접속할 페이지.aspx"></form>
</authentication>
</system.web>
중략

로그인 페이지에서 버튼에 프로세스 - 구현

버튼()
{
FormsAuthentication.RedirectFromLoginPage(인증아이디식별단자, 쿠키 보존 여부);
}

쿠키 보존 여부 : true, false

로그아웃 페이지에서의 버튼에 적용하기 - 구현

버튼()
{
FormsAuthentication.SignOut();
            Response.Redirect("로그아웃 후에 이동할 페이지.aspx");
}



2. 부록) 사용자 옵션

1) Protection: 쿠키에 사용되는 암호화 유형
Validation: 쿠키 변경 여부를 검사하여 데이터의 유효성 여부를 확인합니다.
None: 3DES, DES를 사용하여 암호화를 하지만, 쿠키에서 데이터의 유효성 검사는 수행하지 않습니다.
Encryption: 개인 설정 정보를 제공할 때만, 쿠키를 사용하고 보안 요구 사항이 낮은 사이트에 대해서는 암호화와 유효성 검사를 해지합니다.
All(기본값): 응용 프로그램이 데이터의 유효성 검사 및 암호화를 모두 사용하여 쿠키를 보호하도록 지정합니다.

2) Timeout: 쿠키가 만료될 때까지의 시간 지정
3) slidingExpiration: 상대(sliding) 만료의 설정 여부를 지정합니다. 기본값은 .NET Framework 1.x에서는 true이고, .NET Framework 2.0에서는 False입니다.

True: 새로 고침 하면 다시 갱신
False: 만료기간 제거

4) name: 인증 쿠키의 이름 지정 (기본값: .ASPAUTH)
5) domain: 쿠키를 공유할 수 있는 도메인 설정
6) Cookless: 인증 쿠키의 사용 여부 및 동작 설정
UseCookies: 장치에 관계없이 쿠키를 항상 사용합니다.
UseUrl: 쿠키를 사용하지 않고 인증 정보를 URL에 저장합니다.
AutoDetect: 브라우저에서 쿠키를 지원하면 쿠키를 사용하고 그렇지 않으면, 쿠키를 사용하지 않습니다.
UseDeviceProfile(기본값): 장치 프로필에서 쿠키를 지원하면 쿠키를 사용하고 그렇지 않으면, 쿠키를 사용하지 않습니다.

7) EnableCrossAppRedirects

폼 인증 티켓이 쿠키에 저장되어 있지 않은 경우 인증된 사용자를 다른 웹 응용 프로그램의 URL로 리디렉션할 수 있는지 여부를 나타내는 값을 가져옵니다.


3. 참고자료(Reference)

1. 기술지원, http://msdn.microsoft.com/ko-kr/library/9wff0kyh.aspx

반응형

+ Recent posts