Click here to Skip to main content
15,896,557 members
Articles / Programming Languages / C#

Application Security Model

Rate me:
Please Sign up or sign in to vote.
3.75/5 (9 votes)
14 May 2008CPOL3 min read 31.4K   192   25  
Article describes an easy and light way to secure access to methods in your application.
using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
using SecuredLibrary.BusinessObjects;
using SecuredLibrary.Controlers;
using SecuredLibrary.Controlers.Interfaces;
using SecuredLibrary.Controlers.ViewInterfaces;
using SecuredLibrary.Model;
using SecuredLibrary.Model.Interfaces;

namespace SecuredLibraryTest.Controlers
{
    [TestFixture]
    public class DisplayAllObjectsToSecurePresenterTest
    {
        private IDisplayAllObjectsToSecureView view;
        private IDisplayAllObjectsToSecurePresenter presenter;
        private IModel model;
        private void InitTest()
        {
            view = new MockDisplayAllObjectsToSecureView();
            presenter = new DisplayAllObjectsToSecurePresenter(view);
            presenter.InitView();
        }


        [Test]
        public void InitializationTest()
        {
            InitTest();

            Assert.IsNotNull(view.CurrentUser);
            Assert.AreEqual(0, view.SecuredMethodList.Count);
            Assert.IsNotNull(view.Presenter);
            
        }

        [Test]
        public void RefreshTest()
        {
            InitTest();
            view.Refresh();

            Assert.Greater(view.SecuredMethodList.Count, 0);
        }

    }

    internal class MockDisplayAllObjectsToSecureView : IDisplayAllObjectsToSecureView
    {
        private IList<string> securedMethodList;
        private IPresenter presenter;
        private User currentUser;

        #region IDisplayAllObjectsToSecureView Members

        /// <summary>
        /// Gets or sets list of the methods that are marked with MethodSecuredAttribute
        /// </summary>
        public IList<string> SecuredMethodList
        {
            get { return securedMethodList; }
            set { securedMethodList = value; }
        }

        #endregion

        #region IView Members

        /// <summary>
        /// Gets or sets presenter.
        /// </summary>
        public IPresenter Presenter
        {
            get { return presenter; }
            set { presenter = value; }
        }

        /// <summary>
        /// Gets or sets current user
        /// </summary>
        public User CurrentUser
        {
            get { return currentUser; }
            set { currentUser = value; }
        }

        /// <summary>
        /// Refreshes display.
        /// </summary>
        public void Refresh()
        {
            presenter.Refresh();
        }

        #endregion
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Poland Poland
ASP.NET Developer since 2004

Comments and Discussions