Search Results

Search found 9166 results on 367 pages for 'tweak ui'.

Page 202/367 | < Previous Page | 198 199 200 201 202 203 204 205 206 207 208 209  | Next Page >

  • Asynchronous update design/interaction patterns

    - by Andy Waite
    These days many apps support asynchronous updates. For example, if you're looking at a list of widgets and you delete one of them then rather than wait for the roundtrip to the server, the app can hide the one you deleted, giving immediate feedback. The actual deletion on the server will happen in the background. This can be seen in web apps, desktop apps, iOS apps, etc. But what about when the background operation fails. How should you feed back to the user? Should you restore the UI to the pre-deletion state? What about when multiple background operations fail together? Does this behaviour/pattern have a name? Perhaps something based on the Command pattern?

    Read the article

  • Authenticating users for a website

    - by MCB
    I'm working on a website and I want to validate that an individual is an employee at one of a large number of companies (probably using their company's email address, which I don't know before hand). The idea being some users are the general public and others are from these companies. And I need some way to authenticate that the users claiming to be employees are being honest while still having a friendly enough UI. I did an informal survey of people I know and the domains and emails will match in a majority of cases but they might not always match exactly so you might have a company with a website foo.com and an email [email protected] (although foobar.com did redirect back to foo.com). And while I can easily check that I'm not sure what other variations might be out there (maybe fooLA.com and email [email protected], etc.)

    Read the article

  • application custom stock icons not working in ubuntu unity top panel menu (aka appmenu) ("Menus Have Icons" ON)

    - by giuspen
    I recently noticed that in ubuntu unity the top menu of my apps does not show the (custom) icons I added to the gtk stock, but only the basic gtk stock icons. This happens only since the top menu is displayed in the unity top panel (appmenu) and not in the application window. In place of the correct custom icons I see "gtk-missing-image". On my apps toolbars and other menus those icons are displayed properly, the problem is only with the top menu. This happens either with pygtk2 (e.g. http://www.giuspen.com/cherrytree/) and gobject introspection (e.g. http://www.giuspen.com/nautilus-pyextensions/). I use gtk ui manager after integrating the stock icons this way: factory = gtk.IconFactory() pixbuf = gtk.gdk.pixbuf_new_from_file(filepath) iconset = gtk.IconSet(pixbuf) factory.add(stock_name, iconset) factory.add_default() If anybody solved this problem please help. Cheers, Giuseppe.

    Read the article

  • Time tracking and payment registration architecture

    - by egis
    ?itle might be a little bit incorrect. :) Anyway, I'm building a software where employees input time they worked per day (work hours) and employer "pays" for this time. "Payment" is done outside this system, so employer just "confirms" (checkbox or something like this) which work hours are paid. So the question is - what is the best way (both UI and data storage wise) to implement this? At the moment I have this idea: Employee selects week and manually (with some Javascript helpers, like "fill the same time for all days") inputs work hours in every day of the week. Employer confirms payment the same way employee inputs data (selects week, confirms each day). Data is saved in DB as unix timestamp (one day per table row). Problem is 14 inputs (7 days * ("hours from" + "hours to" input), yet this approach seems kinda easy to implement. Maybe I'm overlooking something and this can be done differently and better? Maybe someone has any example of already working software?

    Read the article

  • How to configure Google Analytics experiments manually

    - by John
    I wish to run multivariate tests on an e-commerce site that run across all product pages. I will be setting and deciding the variations myself all I need to do is track the results in GA. I think may be possible (although only A/B testing is available via the GA UI): https://developers.google.com/analytics/devguides/platform/features/experiments#serving-framework EXTERNAL – You will choose variations, handle experiment optimization, and only report the chosen variation to Google Analytics. For example, this should be used by 3rd-party optimization platforms that want to integrate with Google Analytics for reporting purposes. In this case, the Google Analytics statistical engine will not run. However how do I configure this and push the data to GA in my page?

    Read the article

  • NetBeans 6.9 Released

    - by Duncan Mills
    Great news, the first NetBeans release that has been conducted fully under the stewardship of Oracle has now been released. NetBeans IDE 6.9 introduces the JavaFX Composer, a visual layout tool for building JavaFX GUI applications, similar to the Swing GUI builder for Java SE applications. With the JavaFX Composer, developers can quickly build, visually edit, and debug Rich Internet Applications (RIA) and bind components to various data sources, including Web services. The NetBeans 6.9 release also features OSGi interoperability for NetBeans Platform applications and support for developing OSGi bundles with Maven. With support for OSGi and Swing standards, the NetBeans Platform now supports the standard UI toolkit and the standard module system, providing a unique combination of standards for modular, rich-client development. Additional noteworthy features in this release include support for JavaFX SDK 1.3, PHP Zend framework, and Ruby on Rails 3.0; as well as improvements to the Java Editor, Java Debugger, issue tracking, and more. Head over to NetBeans.org for more details and of course downloads!

    Read the article

  • Garbled text in server logs

    - by Glenn Dayton
    I recently looked over my server's logs and I found a bunch of garbled text. Here is a link to the full log, and here is a snapshot of what it looks like: ¹^œÌÓûFF™ÃŒ-ôÚÏàÃÒNRs§cÝi ~F#J"|³Ôq0ã~QQbA ¼¹¦’š¶É3œßå<ú€Ç©XAwdL?R°ÝbÒt©ôÇ·Æ…÷q˜ÇѺ| Þ,߯¡Êr yR¤Q¹Jêlš‘AzP\ ¦ÂY„ÉÉ,æ™ U™»ì³ÔÝáCÿ42‹Ö.nŽÉ2%ÓN8i4Œ®¿‘•"-se•䎿ÊÁ§€þ 8åv%'#Äpžs/ÙÍ:¡1ÑÖÃå ºu|Q®!ÏyÆ,­NR@¶ËȯRDkã=ÿÀܸ ›¼Ô ’ð>ÓÌBftdÃ8–é}‰[øbãÝÁ嘲b¾W n´tT­œpäNëëÔ ·RUÓP+ÅuKÁ£¬\âÌ®:J<ÍÁ0:Q%ª(Œ˜E-ÁI:ï™4®hæœT†«);°Çda@´#èì}‡£ü•{57ý]¼|øÓñð÷ÈÌð‡MkŠâ•C~$Óô#ÙV¾Núå.#Á]vôžóæ» V&8)%øVSž“±ÔQLåÓý1–ŽÃßQ$¹ýž")ÈûQcÄý_ÔüGP=s‹vq#Pmoo.tigertutorialscomµÐOKÃ0ð»Ÿâ‘ØH“ What is this? and is someone trying to do something to my website?

    Read the article

  • Understanding Data Binding for Windows Phone 7

    - by nikhil
    I want to develop a simple app for the Windows Phone 7 platform. It's basically a vocabulary based game that involves the user moving word tiles from one area to another to score points. I want to know what is the best way of tying the UI to the game's backend? I saw the Windows Phone 7 jumpstart videos, there they touch up on Data Binding but don't really go into any depth. I'm a newbie and don't have any experience with designing the architecture for a phone app, It'd be great if someone could explain what steps I should be taking or guide me to a resource from where I could learn more.

    Read the article

  • Is It "Wrong"/Bad Design To Put A Thread/Background Worker In A Class?

    - by Jetti
    I have a class that will read from Excel (C# and .Net 4) and in that class I have a background worker that will load the data from Excel while the UI can remain responsive. My question is as follows: Is it bad design to have a background worker in a class? Should I create my class without it and use a background worker to operate on that class? I can't see any issues really of creating my class this way but then again I am a newbie so I figured I would make sure before I continue on. I hope that this question is relevant here as I don't think it should be on stackoverflow as my code works, this just a design issue.

    Read the article

  • Ops Center Update 2 is available!

    - by Owen Allen
    Oracle Enterprise Manager Ops Center Release 1, Update 2 (12.1.2.0.0) is available. This release includes support for Oracle Solaris 11.1 and Oracle Linux 6.3, the ability to attach a network multiple times to an LDom guest using the same vswitch, support for HMP 2.2.3, improved options for adding users from remote directory servers, and a few other useful features. A list of new features is in What's New. You can view the documentation online, or you can download a zip file of the library from the Overview tab. If you're running Ops Center in connected mode, the updates are delivered to the UI. If you are in disconnected mode or have not yet installed Ops Center, you can go to the Ops Center download page to get the latest release. Before installing or upgrading to Ops Center 12c Update 2, review the Release Notes for things to watch out for, then see the upgrade instructions in the Administration Guide.

    Read the article

  • Webcast: Oracle Service Charges - Introduction/Overview

    - by LuciaC
    December 5, 2012 at 12 pm ET, 11 am CT, 10 am MT, 9 am PT Have you wondered how Service Charges flow through into Order Management?  Do you want to understand more about the functional flows for Service Charges?  If you use Service Charges as part of your service implementation then you won't want to miss this webcast which explains Oracle Service Charges functionality and integration points with other products.   Topics will include: Functional flows involving Service Charges Integration points Data flow Available UI's Available API's. Go to Doc ID 1455786.1 to register. Current Schedule and Archived Downloads can be found on Doc ID 740966.1.

    Read the article

  • Twitter Tuesday - Top 10 @ArchBeat Tweets - May 20-26, 2014

    - by OTN ArchBeat
    What's everyone looking at? The list below represents the Top 10 most popular tweets for the last seven  days (May 20-26, 2014) among 2,845 people now following @OTNArchBeat. Video: #KScope14 Preview: @stewartbryson talks OBIEE, ODI, and GoldenGate @ODTUG #oracleace May 21, 2014 at 12:00 AM May edition of Oracle's Architect Community newsletter. Features on #WebLogic #WebCenter #SOA #Cloud. May 21, 2014 at 12:00 AM Oracle #ADF and Simplified UI Apps: I18n Feng Shui on Display | @Ultan May 22, 2014 at 12:00 AM The OTNArchBeat Daily is out! Stories via @JavaOneConf @arungupta May 20, 2014 at 12:00 AM Video: #WebLogic Server Templates | @FrankMunz May 21, 2014 at 12:00 AM Supporting multiple #SOASuite revisions with Edition-Based Redefinition | Betty van Dongen May 21, 2014 at 12:00 AM The OTNArchBeat Daily is out! Stories via @soacommunity @oraclebase @InfoQ May 24, 2014 at 12:00 AM Development Lifecycle for Task Flows in #WebCenter Portal | Lyudmil Pelov May 20, 2014 at 12:00 AM Manos libres y vista al frente: Con el futuro puesto #wearables May 21, 2014 at 12:00 AM #GoldenGate: Understanding OGG-01161 Bad Column Index Error | Loren Penton May 21, 2014 at 12:00 AM

    Read the article

  • can you have too many dto/bo - mapping method

    - by Fredou
    I have a windows service, 2 web services and a web interface that need to follow the same path (data wise). So I came up with two ways of creating my solution. My concern is the fact that the UI/WS/etc will have their own kind of DTO (let's say the model in ASP.Net MVC) that should be mapped to a DTO so the SL can then map it to a BO then mapping it to the proper EF6 DTO so that I can save it in a database. So I'm thinking of doing it this way to remove one level of mapping. Which one should I take? Or is there a 3rd solution?

    Read the article

  • Inside BackgroundWorker

    - by João Angelo
    The BackgroundWorker is a reusable component that can be used in different contexts, but sometimes with unexpected results. If you are like me, you have mostly used background workers while doing Windows Forms development due to the flexibility they offer for running a background task. They support cancellation and give events that signal progress updates and task completion. When used in Windows Forms, these events (ProgressChanged and RunWorkerCompleted) get executed back on the UI thread where you can freely access your form controls. However, the logic of the progress changed and worker completed events being invoked in the thread that started the background worker is not something you get directly from the BackgroundWorker, but instead from the fact that you are running in the context of Windows Forms. Take the following example that illustrates the use of a worker in three different scenarios: – Console Application or Windows Service; – Windows Forms; – WPF. using System; using System.ComponentModel; using System.Threading; using System.Windows.Forms; using System.Windows.Threading; class Program { static AutoResetEvent Synch = new AutoResetEvent(false); static void Main() { var bw1 = new BackgroundWorker(); var bw2 = new BackgroundWorker(); var bw3 = new BackgroundWorker(); Console.WriteLine("DEFAULT"); var unspecializedThread = new Thread(() => { OutputCaller(1); SynchronizationContext.SetSynchronizationContext( new SynchronizationContext()); bw1.DoWork += (sender, e) => OutputWork(1); bw1.RunWorkerCompleted += (sender, e) => OutputCompleted(1); // Uses default SynchronizationContext bw1.RunWorkerAsync(); }); unspecializedThread.IsBackground = true; unspecializedThread.Start(); Synch.WaitOne(); Console.WriteLine(); Console.WriteLine("WINDOWS FORMS"); var windowsFormsThread = new Thread(() => { OutputCaller(2); SynchronizationContext.SetSynchronizationContext( new WindowsFormsSynchronizationContext()); bw2.DoWork += (sender, e) => OutputWork(2); bw2.RunWorkerCompleted += (sender, e) => OutputCompleted(2); // Uses WindowsFormsSynchronizationContext bw2.RunWorkerAsync(); Application.Run(); }); windowsFormsThread.IsBackground = true; windowsFormsThread.SetApartmentState(ApartmentState.STA); windowsFormsThread.Start(); Synch.WaitOne(); Console.WriteLine(); Console.WriteLine("WPF"); var wpfThread = new Thread(() => { OutputCaller(3); SynchronizationContext.SetSynchronizationContext( new DispatcherSynchronizationContext()); bw3.DoWork += (sender, e) => OutputWork(3); bw3.RunWorkerCompleted += (sender, e) => OutputCompleted(3); // Uses DispatcherSynchronizationContext bw3.RunWorkerAsync(); Dispatcher.Run(); }); wpfThread.IsBackground = true; wpfThread.SetApartmentState(ApartmentState.STA); wpfThread.Start(); Synch.WaitOne(); } static void OutputCaller(int workerId) { Console.WriteLine( "bw{0}.{1} | Thread: {2} | IsThreadPool: {3}", workerId, "RunWorkerAsync".PadRight(18), Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.IsThreadPoolThread); } static void OutputWork(int workerId) { Console.WriteLine( "bw{0}.{1} | Thread: {2} | IsThreadPool: {3}", workerId, "DoWork".PadRight(18), Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.IsThreadPoolThread); } static void OutputCompleted(int workerId) { Console.WriteLine( "bw{0}.{1} | Thread: {2} | IsThreadPool: {3}", workerId, "RunWorkerCompleted".PadRight(18), Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.IsThreadPoolThread); Synch.Set(); } } Output: //DEFAULT //bw1.RunWorkerAsync | Thread: 3 | IsThreadPool: False //bw1.DoWork | Thread: 4 | IsThreadPool: True //bw1.RunWorkerCompleted | Thread: 5 | IsThreadPool: True //WINDOWS FORMS //bw2.RunWorkerAsync | Thread: 6 | IsThreadPool: False //bw2.DoWork | Thread: 5 | IsThreadPool: True //bw2.RunWorkerCompleted | Thread: 6 | IsThreadPool: False //WPF //bw3.RunWorkerAsync | Thread: 7 | IsThreadPool: False //bw3.DoWork | Thread: 5 | IsThreadPool: True //bw3.RunWorkerCompleted | Thread: 7 | IsThreadPool: False As you can see the output between the first and remaining scenarios is somewhat different. While in Windows Forms and WPF the worker completed event runs on the thread that called RunWorkerAsync, in the first scenario the same event runs on any thread available in the thread pool. Another scenario where you can get the first behavior, even when on Windows Forms or WPF, is if you chain the creation of background workers, that is, you create a second worker in the DoWork event handler of an already running worker. Since the DoWork executes in a thread from the pool the second worker will use the default synchronization context and the completed event will not run in the UI thread.

    Read the article

  • Windows Phone 7 Design Template

    Expression Blend is a wonderful design environment for WP7 (Windows Phone 7) but for quickly visualizing a concept nothing beats Illustrator! I am excited about WP7 and decided that having a solid .ai template would prove invaluable. Some of the details of the WP7 UI Design and Interaction Guide are a bit fuzzy (literally) but I was able to generate some useful layout guides, character styles, and symbols. While the template does not cover every aspect of the guide I think it is a good launching point; if you find it useful and extend it please share your updates (I created the template in CS4, if you have problems in earlier versions let me know).Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • What should I do next in my life as a programmers? [closed]

    - by user1769787
    I am doing work in asp.net (mvc) in my starting days of programming 2 years ago.I have done work on some web-apps. I am not comfortable with c# but have working skill in jQuery and front-end development. from a year I do UI kind of work. Now someone can suggest me what should I do for next. Should I learn asp.net mvc or I should go for PHP then I can do some wordpress development. The problem is I never found small people use asp.net rather then PHP.( I am not currently employed). Someone can help me what should I do. I have front-end skill (not in programming) so what Is best for me to do.

    Read the article

  • Learning Programming, Suggestions for a roadmap

    - by RisingSun
    Hi, Some background first- I am new to programming and have discovered it rather late in life; Like many hobbyists, my introduction to the subject has been through php/jquery (yes, i know the popular mood around here... they-are-not-real-programminng-languages ;-) ). I like to believe that I am reasonably competent at what I do in my other life and this developing addiction to coding has taken a very heavy toll on my professional prospects. This is the question: What programming languages next? (No plans to ditch php in the immediate future, that will involve rewriting much of my code) Any absolutely essential books I must read? Is it necessary to join a college/university course? Do I need to ditch my other profession to continue serious learning? My goals are: Develop a solid understanding of the science and art of programming. Continue to work on my own web application (Hands on learning suits me best) I am something of a generalist interested in everything from UI to database performance

    Read the article

  • How to increase the bus factor and specialize at the same time?

    - by bizso09
    In agile pair programming it is recommended to switch pairs every now and then so as to increase the bus factor of the team. That means, most people in the team should work on different parts of the system at different times so that everyone has an understanding of it. Now it is impssible that everyone has an expert level of understanding of each part of the system. That's because people are urged to specialize in one area of expertise. If you are an expert database admin, what's the point of working on the user interface of the system when you switch pairs? You will not be able to do such a high quality job as someone who has extensive experience in UI design. How can you increase the bus factor and make sure that you have specialization in your team?

    Read the article

  • ASP.NET MVC 2 Released!

    - by kaleidoscope
    ASP.NET MVC 2 Released! ASP.NET MVC 2 Features ASP.NET MVC 2 adds a bunch of new capabilities and features. Some of the new features and capabilities include: § New Strongly Typed HTML Helpers § Enhanced Model Validation support across both server and client § Auto-Scaffold UI Helpers with Template Customization § Support for splitting up large applications into ‘Areas’ § Asynchronous Controllers support that enables long running tasks in parallel § Support for rendering sub-sections of a page/site using Html.RenderAction § Lots of new helper functions, utilities, and API enhancements § Improved Visual Studio tooling support More details can be found at http://www.azurejournal.com/2010/03/aspnet-MVC-2-released/ http://www.asp.net/mvc/   Anish, S

    Read the article

  • Right tool for the job(html5 vs silverlight)

    - by Jargo
    I have been tasked to develop a web based offer request application for bathrooms and I am asking opinions on which tool should I choose. I have narrowed options down to two (html5 and silverlight). Most of the application consists of basic UI elements that could be achieved with html4. However most challenging part is the design view for the bathroom. User first defines size of the bathroom by giving dimensions. When the dimensions are defined the application renders an empty bathroom floorplan and user can start dragging&dropping furniture on to it. Some furniture have rules where they can be dragged. For example sinks can only be dragged next to a wall. I know that this functionality can be achieved with silverlight but what about html5 ? I know that Canvas element can be used to draw graphics, but can it render the bathroom smoothly as user drags a piece furniture on it?

    Read the article

  • How to design a separated tutorial mode?

    - by Sylpheed
    I'm working on a "social" game that's about 90% completion. One of the remaining features is the tutorial mode. Basically, the tutorial mode will restrict the user to access some parts of UI and limit the features (like store items). The tutorial will only progress if a certain event is triggered, specifically following the tutorial. The code is ready and we already have an "almost" working game. The problem is I haven't foreseen the tutorial mode while I was doing those 90%. My requirement is there shouldn't be any loading/transition from tutorial mode to normal mode. This means I have to pick up the progress from the tutorial (no re-rendering of assets and stuff). How should I design this in a way where I won't touch anything from my old code? I want it to be as easy as just plugging it in. I don't want to jam the tutorial in my old code since this will lead to many bugs.

    Read the article

  • How do I show a minimap in a 3D world?

    - by Bubblewrap
    Got a really typical use-case here. I have large map made up of hexagons and at any given time only a small section of the map is visible. To provide an overview of the complete map, I want to show a small 2D representation of the map in a corner of the screen. What is the recommended approach for this in libgdx? Keep in mind the minimap must be updated when the currently visible section changes and when the map is updated. I've found SpriteBatch(info here), but the warning label on it made me think twice: A SpriteBatch is a pretty heavy object so you should only ever have one in your program. I'm not sure I'm supposed to use the one SpriteBatch that I can have on the minimap, and I'm also not sure how to interpret "heavy" in this context. Another thing to possibly keep in mind is that the minimap will probably be part of a larger UI, is there any way to integrate these two?

    Read the article

  • NetworkManager not populating resolv.conf

    - by Cerin
    I recently upgraded from 11.10 to 12.04, and now NetworkManager isn't populating /etc/resolv.conf when connecting to wireless networks, when it had been working perfectly in 11.10. I'm not seeing any explicit errors in either the NM UI or in syslog. How do I diagnose what's wrong? Edit: If I try to run resolvconf, I get the error "resolvconf: Error: /etc/resolv.conf isn't a symlink, not doing anything." What should it be a symlink to and/or how do I get NM to populate it? This says the symlink should point to /run/resolvconf/resolv.conf, but that file does not exist on my system.

    Read the article

  • Can't edit/drag-and-drop widgets in QtCreator in Unity, Gnome3 - ok

    - by Maksim
    I have QtCreator 2.4.1 (Qt 4.7.4) installed on Ubuntu 12.04 LTS x86. When I try to change UI - drag-and-drop any widget (buttons, label, etc.) it won't let me do it, like it's read-only. The icon when I drag is a circle with a line through it. I've found that problem in Unity and it's suggested to install Gnome3 shell - Can't edit/drag-and-drop widgets in QtCreator I tried to install Gnome3 and it works fine as expected. But the question, is there any other way to work proper with QtCreator in Unity?

    Read the article

  • How to Implement Single Sign-On between Websites

    - by hmloo
    Introduction Single sign-on (SSO) is a way to control access to multiple related but independent systems, a user only needs to log in once and gains access to all other systems. a lot of commercial systems that provide Single sign-on solution and you can also choose some open source solutions like Opensso, CAS etc. both of them use centralized authentication and provide more robust authentication mechanism, but if each system has its own authentication mechanism, how do we provide a seamless transition between them. Here I will show you the case. How it Works The method we’ll use is based on a secret key shared between the sites. Origin site has a method to build up a hashed authentication token with some other parameters and redirect the user to the target site. variables Status Description ssoEncode required hash(ssoSharedSecret + , + ssoTime + , + ssoUserName) ssoTime required timestamp with format YYYYMMDDHHMMSS used to prevent playback attacks ssoUserName required unique username; required when a user is logged in Note : The variables will be sent via POST for security reasons Building a Single Sign-On Solution Origin Site has function to 1. Create the URL for your Request. 2. Generate required authentication parameters 3. Redirect to target site. using System; using System.Web.Security; using System.Text; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string postbackUrl = "http://www.targetsite.com/sso.aspx"; string ssoTime = DateTime.Now.ToString("yyyyMMddHHmmss"); string ssoUserName = User.Identity.Name; string ssoSharedSecret = "58ag;ai76"; // get this from config or similar string ssoHash = FormsAuthentication.HashPasswordForStoringInConfigFile(string.Format("{0},{1},{2}", ssoSharedSecret, ssoTime, ssoUserName), "md5"); string value = string.Format("{0}:{1},{2}", ssoHash,ssoTime, ssoUserName); Response.Clear(); StringBuilder sb = new StringBuilder(); sb.Append("<html>"); sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>"); sb.AppendFormat("<form name='form' action='{0}' method='post'>", postbackUrl); sb.AppendFormat("<input type='hidden' name='t' value='{0}'>", value); sb.Append("</form>"); sb.Append("</body>"); sb.Append("</html>"); Response.Write(sb.ToString()); Response.End(); } } Target Site has function to 1. Get authentication parameters. 2. Validate the parameters with shared secret. 3. If the user is valid, then do authenticate and redirect to target page. 4. If the user is invalid, then show errors and return. using System; using System.Web.Security; using System.Text; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (User.Identity.IsAuthenticated) { Response.Redirect("~/Default.aspx"); } } if (Request.Params.Get("t") != null) { string ticket = Request.Params.Get("t"); char[] delimiters = new char[] { ':', ',' }; string[] ssoVariable = ticket.Split(delimiters, StringSplitOptions.None); string ssoHash = ssoVariable[0]; string ssoTime = ssoVariable[1]; string ssoUserName = ssoVariable[2]; DateTime appTime = DateTime.MinValue; int offsetTime = 60; // get this from config or similar try { appTime = DateTime.ParseExact(ssoTime, "yyyyMMddHHmmss", null); } catch { //show error return; } if (Math.Abs(appTime.Subtract(DateTime.Now).TotalSeconds) > offsetTime) { //show error return; } bool isValid = false; string ssoSharedSecret = "58ag;ai76"; // get this from config or similar string hash = FormsAuthentication.HashPasswordForStoringInConfigFile(string.Format("{0},{1},{2}", ssoSharedSecret, ssoTime, ssoUserName), "md5"); if (string.Compare(ssoHash, hash, true) == 0) { if (Math.Abs(appTime.Subtract(DateTime.Now).TotalSeconds) > offsetTime) { //show error return; } else { isValid = true; } } if (isValid) { //Do authenticate; } else { //show error return; } } else { //show error } } } Summary This is a very simple and basic SSO solution, and its main advantage is its simplicity, only needs to add a single page to do SSO authentication, do not need to modify the existing system infrastructure.

    Read the article

< Previous Page | 198 199 200 201 202 203 204 205 206 207 208 209  | Next Page >