2010-07-07 5 views
2

J'ai créé un RSSActionResult rudimentaire dans ASP.NET MVC pour générer un flux RSS basé sur de nouveaux éléments dans mon magasin de commerce électronique - nouveaux articles, articles de vente, etc. facile et fonctionne bien.ASP.NET MVC - Créer un flux RSS qui nécessite une authentification

Je voudrais aller plus loin et créer un flux spécifique à l'utilisateur. Par exemple - montrer aux utilisateurs de nouveaux produits d'intérêt en fonction de leur historique d'achat précédent. Ce flux est spécifique à l'utilisateur et il faut normalement se connecter à son compte (adhésion asp.net) pour voir cette information. Ma question est la suivante: comment l'adhésion fonctionne-t-elle au niveau RSS? Dans MVC, je peux facilement créer un filtre d'action qui nécessite que l'utilisateur soit connecté au site pour s'abonner au flux, mais je ne suis pas sûr que cela soit possible dans un lecteur de flux. Quand je regarde l'alimentation dans IE8 le lecteur en construit et ne suis pas connecté à mon compte, je reçois le message suivant:

Feeds avec DTDs ne sont pas pris en charge

Est-ce que je suis en train de faire même possible? Toute orientation serait très appréciée.

Merci à l'avance,

JP

Répondre

3

semble que les flux privés RSS est un peu une zone grise et le soutien des agences de presse et des lecteurs de nouvelles est limité. Avoir une lecture de this, par exemple.

Cette SO question discute de différentes façons d'implémenter un tel service. Afin d'être 100% compatible, je générerais simplement un jeton unique par client et je m'y abonnerais. Considérant que les informations privées actuelles ne sont pas exposées (nous n'entrerons pas dans la discussion de désanonymisation), je pense que c'est assez bon.

Couplé à la limitation de débit pour éviter de deviner le jeton, je pense que c'est une solution acceptable. En outre, cela peut être activé et désactivé par l'utilisateur pour ceux qui sont plus soucieux de la sécurité.

+0

Donne un sens, merci! –

0

Je ne l'ai jamais essayé avec RSS, mais avez-vous essayé d'utiliser la me "Autorisez attribut"

[Authorize(Users="Stephen")] 
    public RSSActionResult StephenRss() 
    { 
     return View(); 
    } 
+0

Cela redirigera simplement le lecteur RSS vers votre formulaire de connexion si vous utilisez la méthode d'authentification par formulaire. –